A type of tuple, containing zero or more fields (each encapsulated as a Schema::Field object).  
 More...
 | 
|   | Schema () | 
|   | Creates an uninitialized Schema.  More...
  | 
|   | 
|   | Schema (const Schema &schema) | 
|   | Copy constructor.  More...
  | 
|   | 
| Schema &  | operator= (const Schema &) | 
|   | Assignment operator.  More...
  | 
|   | 
| template<typename Iterator >  | 
|   | Schema (std::string name, Iterator begin, Iterator end, Flags flags=Flags()) | 
|   | Constructs a Schema from a sequence of Field objects.  More...
  | 
|   | 
| template<typename Iterator >  | 
|   | Schema (Iterator begin, Iterator end, Flags flags=Flags()) | 
|   | Constructs a Schema from a sequence of Field objects.  More...
  | 
|   | 
|   | Schema (std::string name, const std::vector< Field > &fields, Flags flags=Flags()) | 
|   | Constructs a Schema from a vector of Field objects.  More...
  | 
|   | 
|   | Schema (const std::vector< Field > &fields, Flags flags=Flags()) | 
|   | Constructs a Schema from a vector of Field objects.  More...
  | 
|   | 
|   | operator const void * () const  | 
|   | Returns a non-null value if the object was not created with the no-argument constructor, i.e., this is a meaningful Schema.  More...
  | 
|   | 
| bool  | hasHeader () const  | 
|   | Return true if the schema has space for a header, false otherwise.  More...
  | 
|   | 
| size_t  | getHeaderSize () const  | 
|   | Return the size of the header.  More...
  | 
|   | 
| const Field &  | getField (size_t field_num) const  | 
|   | Return the Fields object description of a field in the schema.  More...
  | 
|   | 
| const Field &  | getField (const std::string &pathName) const  | 
|   | Return the Fields object description of a field in the schema.  More...
  | 
|   | 
| const bool  | hasField (const std::string &pathName) const  | 
|   | Returns true if a field of a given path name is present, otherwise it returns false.  More...
  | 
|   | 
| const std::vector< Field > &  | getFields () const  | 
|   | Returns a reference to a vector of all fields in the schema.  More...
  | 
|   | 
| int  | indexOfField (const std::string &name) const  | 
|   | Returns the index of the field with a particular name (note: not path name), or -1 if there is no such field.  More...
  | 
|   | 
| const std::string &  | getName () const  | 
|   | Returns the name of the schema or empty string at runtime.  More...
  | 
|   | 
| size_t  | getNumFields () const  | 
|   | Returns the number of fields in the schema.  More...
  | 
|   | 
| std::string  | as_string () const  | 
|   | Returns a string representation of the schema.  More...
  | 
|   | 
| bool  | sameFieldTypes (const Schema &other) const  | 
|   | Returns true if this schema has the same field types in the same order as another Schema.  More...
  | 
|   | 
| bool  | sameFields (const Schema &other) const  | 
|   | Returns true if this schema has the same field Names and Types in the same order as another Schema.  More...
  | 
|   | 
| 
bool  | operator== (const Schema &other) const  | 
|   | 
| 
bool  | operator!= (const Schema &other) const  | 
|   | 
A type of tuple, containing zero or more fields (each encapsulated as a Schema::Field object). 
Schemas are immutable: once constructed they may not be changed. 
 
  
  
      
        
          | sb::Schema::operator const void *  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Returns a non-null value if the object was not created with the no-argument constructor, i.e., this is a meaningful Schema. 
Useful in the following manner:
Schema td = callSomeMethod();
if (td) {
    cout << "someMethod returned a valid Schema: " << td << endl;
} else {
    cout << "no such Schema" << endl;
}