inlib  1.2.0
Classes | Public Member Functions | Protected Member Functions | Protected Attributes
inlib::wcsv::ntuple Class Reference

List of all members.

Classes

class  column
class  icol

Public Member Functions

 ntuple (std::ostream &a_writer, char a_sep= ',')
virtual ~ntuple ()
template<class T >
column< T > * create_column (const std::string &a_name, const T &a_def=T())
bool add_row ()
const std::vector< icol * > & columns () const

Protected Member Functions

 ntuple (const ntuple &a_from)
ntupleoperator= (const ntuple &a_from)

Protected Attributes

std::ostream & m_writer
char m_sep
std::vector< icol * > m_cols

Detailed Description

Definition at line 18 of file wcsv_ntuple.


Constructor & Destructor Documentation

inlib::wcsv::ntuple::ntuple ( std::ostream &  a_writer,
char  a_sep = ',' 
) [inline]

Definition at line 70 of file wcsv_ntuple.

  :m_writer(a_writer)
  ,m_sep(a_sep)
  {}
virtual inlib::wcsv::ntuple::~ntuple ( ) [inline, virtual]

Definition at line 74 of file wcsv_ntuple.

                           {
    inlib::clear<icol>(m_cols);
  }
inlib::wcsv::ntuple::ntuple ( const ntuple a_from) [inline, protected]

Definition at line 78 of file wcsv_ntuple.

  :m_writer(a_from.m_writer)
  ,m_sep(a_from.m_sep)
  {}

Member Function Documentation

bool inlib::wcsv::ntuple::add_row ( ) [inline]

Definition at line 97 of file wcsv_ntuple.

                        {
    if(m_cols.empty()) return false;
    std::vector<icol*>::iterator it;
    it=m_cols.begin();
    (*it)->add();
    it++;
    for(;it!=m_cols.end();++it) {
      m_writer << m_sep;
      (*it)->add();
    }
    m_writer << std::endl;
    return true;
  }
const std::vector<icol*>& inlib::wcsv::ntuple::columns ( ) const [inline]

Definition at line 111 of file wcsv_ntuple.

{return m_cols;}
template<class T >
column<T>* inlib::wcsv::ntuple::create_column ( const std::string &  a_name,
const T &  a_def = T() 
) [inline]

Definition at line 88 of file wcsv_ntuple.

                                                        {
    if(find_named<icol>(m_cols,a_name)) return 0;
    column<T>* col = new column<T>(m_writer,a_name,a_def);
    if(!col) return 0;
    m_cols.push_back(col);
    return col;
  }
ntuple& inlib::wcsv::ntuple::operator= ( const ntuple a_from) [inline, protected]

Definition at line 82 of file wcsv_ntuple.

                                                {
    m_sep = a_from.m_sep;
    return *this;
  }

Member Data Documentation

std::vector<icol*> inlib::wcsv::ntuple::m_cols [protected]

Definition at line 115 of file wcsv_ntuple.

char inlib::wcsv::ntuple::m_sep [protected]

Definition at line 114 of file wcsv_ntuple.

std::ostream& inlib::wcsv::ntuple::m_writer [protected]

Definition at line 113 of file wcsv_ntuple.


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