inlib  1.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes
inlib::aida::aida_col< T > Class Template Reference
Inheritance diagram for inlib::aida::aida_col< T >:
Inheritance graph
[legend]
Collaboration diagram for inlib::aida::aida_col< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void * cast (const std::string &a_class) const
virtual base_colcopy () const
virtual bool add ()
virtual bool reset ()
virtual uint64 num_elems () const
virtual std::string aida_type () const
virtual bool s_default_value (std::string &a_s) const
virtual bool s_value (std::string &a_s) const
virtual bool s_fill (const std::string &a_s)
 aida_col (std::ostream &a_out, const std::string &a_name, const T &a_def)
virtual ~aida_col ()
 aida_col (const aida_col &a_from)
aida_coloperator= (const aida_col &a_from)
bool fill (const T &a_value)
bool get_entry (T &a_v) const

Static Public Member Functions

static const std::string & s_class ()

Protected Attributes

std::vector< T > m_data
m_default
m_tmp

Detailed Description

template<class T>
class inlib::aida::aida_col< T >

Definition at line 378 of file aida_ntuple.


Constructor & Destructor Documentation

template<class T>
inlib::aida::aida_col< T >::aida_col ( std::ostream &  a_out,
const std::string &  a_name,
const T &  a_def 
) [inline]

Definition at line 422 of file aida_ntuple.

  : aida_base_col(a_out,a_name)
  ,m_default(a_def)
  ,m_tmp(a_def){}
template<class T>
virtual inlib::aida::aida_col< T >::~aida_col ( ) [inline, virtual]

Definition at line 427 of file aida_ntuple.

{}
template<class T>
inlib::aida::aida_col< T >::aida_col ( const aida_col< T > &  a_from) [inline]

Definition at line 429 of file aida_ntuple.

  : aida_base_col(a_from)
  ,m_data(a_from.m_data)
  ,m_default(a_from.m_default)
  ,m_tmp(a_from.m_tmp)
  {}

Member Function Documentation

template<class T>
virtual bool inlib::aida::aida_col< T >::add ( ) [inline, virtual]

Implements inlib::aida::base_col.

Definition at line 390 of file aida_ntuple.

{m_data.push_back(m_tmp);m_tmp = m_default;return true;}
template<class T>
virtual std::string inlib::aida::aida_col< T >::aida_type ( ) const [inline, virtual]

Implements inlib::aida::aida_base_col.

Definition at line 399 of file aida_ntuple.

{return s_aida_type(T());}
template<class T>
virtual void* inlib::aida::aida_col< T >::cast ( const std::string &  a_class) const [inline, virtual]

Reimplemented from inlib::aida::aida_base_col.

Definition at line 384 of file aida_ntuple.

                                                     {
    if(void* p = cmp_cast< aida_col<T> >(this,a_class)) {return p;}
    else return aida_base_col::cast(a_class);
  }
template<class T>
virtual base_col* inlib::aida::aida_col< T >::copy ( ) const [inline, virtual]

Implements inlib::aida::base_col.

Definition at line 389 of file aida_ntuple.

{return new aida_col(*this);}
template<class T>
bool inlib::aida::aida_col< T >::fill ( const T &  a_value) [inline]

Definition at line 443 of file aida_ntuple.

{m_tmp = a_value;return true;}
template<class T>
bool inlib::aida::aida_col< T >::get_entry ( T &  a_v) const [inline]

Definition at line 444 of file aida_ntuple.

                               {
    if(m_index>=m_data.size()) {
      m_out << s_class() << "::get_entry :"
            << " bad index " << m_index
            << ". Vec size is " << m_data.size() << "."
            << "."
            << std::endl;
      a_v = T();
      return false;
    }
    typedef typename std::vector<T>::size_type sz_t;
    a_v = m_data[sz_t(m_index)];
    return true;
  }
template<class T>
virtual uint64 inlib::aida::aida_col< T >::num_elems ( ) const [inline, virtual]

Implements inlib::aida::base_col.

Definition at line 397 of file aida_ntuple.

{return m_data.size();}
template<class T>
aida_col& inlib::aida::aida_col< T >::operator= ( const aida_col< T > &  a_from) [inline]

Definition at line 435 of file aida_ntuple.

                                             {
    aida_base_col::operator=(a_from);
    m_data = a_from.m_data;
    m_default = a_from.m_default;
    m_tmp = a_from.m_tmp;
    return *this;
  }
template<class T>
virtual bool inlib::aida::aida_col< T >::reset ( ) [inline, virtual]

Implements inlib::aida::base_col.

Definition at line 391 of file aida_ntuple.

                       {
    m_data.clear();
    m_index = 0;
    m_tmp = m_default;
    return true;
  }
template<class T>
static const std::string& inlib::aida::aida_col< T >::s_class ( ) [inline, static]

Reimplemented from inlib::aida::aida_base_col.

Definition at line 380 of file aida_ntuple.

                                    {
    static const std::string s_v("inlib::aida::aida_col<"+stype(T())+">");
    return s_v;
  }
template<class T>
virtual bool inlib::aida::aida_col< T >::s_default_value ( std::string &  a_s) const [inline, virtual]

Implements inlib::aida::aida_base_col.

Definition at line 400 of file aida_ntuple.

                                                     {
    a_s = tos(m_default);
    return true;
  }
template<class T>
virtual bool inlib::aida::aida_col< T >::s_fill ( const std::string &  a_s) [inline, virtual]

Implements inlib::aida::aida_base_col.

Definition at line 411 of file aida_ntuple.

                                            {
    //if(!to<T>(a_s,m_tmp)) {
    if(!s__fill(a_s,m_tmp)) {
      m_out << s_class() << "::fill :"
            << " can't convert " << sout(a_s) << "."
            << std::endl;
      return false;
    }
    return true;
  }
template<class T>
virtual bool inlib::aida::aida_col< T >::s_value ( std::string &  a_s) const [inline, virtual]

Implements inlib::aida::aida_base_col.

Definition at line 404 of file aida_ntuple.

                                             {
    typedef typename std::vector<T>::size_type sz_t;
    a_s = tos(m_data[sz_t(m_index)]);
    return true;
  }

Member Data Documentation

template<class T>
std::vector<T> inlib::aida::aida_col< T >::m_data [protected]

Definition at line 459 of file aida_ntuple.

template<class T>
T inlib::aida::aida_col< T >::m_default [protected]

Definition at line 460 of file aida_ntuple.

template<class T>
T inlib::aida::aida_col< T >::m_tmp [protected]

Definition at line 461 of file aida_ntuple.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines