Open-RJ C/C++ User's Journal Synesis Software STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ...

openrj::stl Namespace Reference


Detailed Description

The namespace of the Open-RJ/STL mapping.

This contains the field, record, file_database and memory_database classes, along with the exception class database_exception


Classes

class  database_base
 This class acts as an implementation parent for both the file_database and memory_database classes. More...
class  file_database
 This class opens and provides access to a file-based Open-RJ database. More...
class  memory_database
 This class opens and provides access to a memory-based Open-RJ database. More...
class  field
 This class represents a field in a record in the database. More...
struct  record_has_field
 Predicate which detects whether a record contains one of more fields of a given name. More...
struct  field_assoc_insert_iterator
 Class which inserts a field into an associative container. More...
class  database_exception
 The exception type thrown by the Open-RJ - STL mapping. More...
class  record
 This class represents a record in the database. More...

Typedefs

typedef std::string string_t
 String type used by the openrj::stl namespace.

Functions

stlsoft::basic_shim_string<
char, true > 
c_str_ptr_null (field const &f)
 String access shim providing, possibly NULL, C-string access to the contents of a Field instance.
stlsoft::basic_shim_string<
char > 
c_str_ptr (field const &f)
 String access shim providing C-string access to the contents of a Field instance.
size_t c_str_len (field const &f)
 String access shim length of C-string form of a Field instance.
inline::stlsoft::basic_shim_string<
char > 
c_str_data (field const &f)
 String access shim providing (potentially non-nul-terminated) C-string access to the contents of a Field instance.
template<class S>
S & operator<< (S &s, field const &field)
 Stream insertion shim for a field instance.
template<typename C>
field_assoc_insert_iterator<
C > 
field_assoc_inserter (C &c)
 Creator function that creates an instance of field_assoc_insert_iterator.
string_t lookup (string_t const &fieldName, record const &r0, record const &r1)
 Looks up the named field in one of two records, or throws exception if not found in either.
string_t lookup (string_t const &fieldName, record const &r0, record const &r1, string_t const &defaultValue)
 Looks up the named field in one of two records, or returns a default value if not found in either.


Typedef Documentation

typedef std::string string_t

String type used by the openrj::stl namespace.


Function Documentation

field_assoc_insert_iterator<C> openrj::stl::field_assoc_inserter ( C &  c  )  [inline]

Creator function that creates an instance of field_assoc_insert_iterator.

Parameters:
c The container in which elements are to be inserted via the iterator

string_t openrj::stl::lookup ( string_t const &  fieldName,
record const &  r0,
record const &  r1 
) [inline]

Looks up the named field in one of two records, or throws exception if not found in either.

Parameters:
fieldName The named of the field to be searched for
r0 The first record to be searched
r1 The second record to be searched
Returns:
The value matching the field found in r0 or r1
Note:
If the field is not found in either record, an instance of std::out_of_range exception is thrown

string_t openrj::stl::lookup ( string_t const &  fieldName,
record const &  r0,
record const &  r1,
string_t const &  defaultValue 
) [inline]

Looks up the named field in one of two records, or returns a default value if not found in either.

Parameters:
fieldName The named of the field to be searched for
r0 The first record to be searched
r1 The second record to be searched
defaultValue The default value to be used if the named field is not found in either record
Returns:
The value matching the field found in r0 or r1, or defaultValue if not found in either


Open-RJ Library documentation © Synesis Software Pty Ltd, 2004-2005