Jpp  debug
the software that should make you happy
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
JLANG Namespace Reference

Auxiliary classes and methods for language specific functionality. More...

Namespaces

 JLANG_LOCAL
 Local namespace for fallback implementations for comparison operators.
 

Classes

struct  JAbstractClass
 Template class test for abstractness. More...
 
class  JAbstractFile
 The JAbstractFile class encapsulates the c-style file descriptor. More...
 
class  JStreamInput
 Interface for ASCII input using standard streams. More...
 
class  JStreamOutput
 Interface for ASCII output using standard streams. More...
 
class  JStreamSuffixOutput
 Interface for ASCII output with prefix and postfix using standard streams. More...
 
class  JAbstractObjectIterator
 Abstract object iterator. More...
 
class  JRewindableAbstractObjectIterator
 Abstract object iterator with rewinding. More...
 
class  JAccessibleAbstractObjectIterator
 Abstract object iterator with named access. More...
 
struct  JAbstractObjectReader
 Abstract interface for object reading. More...
 
struct  JAbstractRewindableObjectReader
 Abstract interface for object reading with rewinding. More...
 
struct  JAbstractAccessibleObjectReader
 Abstract interface for object reading with named access. More...
 
struct  JAbstractObjectStatus
 Interface for status of object. More...
 
struct  JAbstractObjectWriter
 Abstract interface for object writing. More...
 
struct  JAbstractObjectWriter< JTypeList< JHead_t, JTail_t > >
 Abstract interface for object writing for multiple data types. More...
 
struct  JAbstractObjectWriter< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JAbstractObjectWriter class. More...
 
struct  JAbstractAccessibleObjectWriter
 Abstract interface for object writing with named access. More...
 
class  JAbstractPointer
 Template interface for pointer to object(s). More...
 
class  JAccessible
 Interface for named access of a device. More...
 
class  JNullAccess
 Interface for null access. More...
 
class  JAccessibleBinaryInputStream
 Accessible binary input stream. More...
 
class  JAccessibleBinaryOutputStream
 Accessible output stream. More...
 
class  JAccessibleInputStream
 Accessible input stream. More...
 
class  JAccessibleOutputStream
 Accessible output stream. More...
 
struct  JAllocatorBuffer
 Low-level memory management. More...
 
class  JAllocator
 Memory management for small objects. More...
 
struct  JAnyType
 Auxiliary class for any type definition. More...
 
class  JASCIIFileReader
 Object reading from ASCII file. More...
 
class  JASCIIFileWriter
 Object(s) writing to ASCII file. More...
 
struct  JAssert
 Generation of compiler error. More...
 
struct  JAssert< true, T >
 Implementation of valid assertion. More...
 
struct  JBaseType_t
 Template class to test for polymorphism. More...
 
struct  JBaseType_t< JBase_t, JTypeList< JHead_t, JTail_t > >
 Template class to test for polymorphism. More...
 
struct  JBaseType_t< JBase_t, JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JBaseType_t class. More...
 
struct  JBaseType
 Template class to identify common base class. More...
 
struct  JBaseType< JBase_t, JTypelist_t, JTypeList< JHead_t, JTail_t >, false >
 Resursive scan for base class. More...
 
struct  JBaseType< JBase_t, JTypelist_t, JTypeList< JHead_t, JNullType >, false >
 Terminination class of resursive JBaseType class. More...
 
struct  JBaseClass
 Template definition of class to look for base class in type list. More...
 
struct  JBaseClass< JTypeList< JHead_t, JTail_t > >
 Template specialisation of class to look for base class in type list. More...
 
class  JBidirectionalIterator
 Template interface for method bool decrement(). More...
 
class  JBinaryInput
 Interface for binary input. More...
 
class  JBinaryOutput
 Interface for binary output. More...
 
struct  JBool
 Auxiliary template class for type bool. More...
 
struct  EQUALS
 Type definition of logical EQUALS. More...
 
struct  EQUALS< JBool< first >, JBool< second > >
 Template specialisation for logical EQUALS. More...
 
struct  NOT
 Type definition of logical NOT. More...
 
struct  NOT< JBool< __value__ > >
 Template specialisation for logical NOT. More...
 
struct  AND
 Type definition of logical AND. More...
 
struct  AND< JBool< first >, JBool< second > >
 Template specialisation for logical AND. More...
 
struct  OR
 Type definition of logical OR. More...
 
struct  OR< JBool< first >, JBool< second > >
 Template specialisation for logical OR. More...
 
struct  XOR
 Type definition of logical XOR. More...
 
struct  XOR< JBool< first >, JBool< second > >
 Template specialisation for logical XOR. More...
 
struct  JCategory
 Auxiliary class to define value, reference and pointer types for given data type and category. More...
 
struct  JCategory< T, true >
 Specialisation of JCategory for constant (i.e. non-modifiable) data type. More...
 
struct  JCategory< T, false >
 Specialisation of JCategory for modifiable (i.e. non-constant) data type. More...
 
struct  JPrimitive
 Data structure for primitive types. More...
 
struct  JArgument
 Data structure for method argument types. More...
 
struct  JArgument< bool >
 Specialisations of JArgument for primitive types. More...
 
struct  JArgument< char >
 
struct  JArgument< unsigned char >
 
struct  JArgument< short >
 
struct  JArgument< unsigned short >
 
struct  JArgument< int >
 
struct  JArgument< unsigned int >
 
struct  JArgument< long int >
 
struct  JArgument< unsigned long int >
 
struct  JArgument< long long int >
 
struct  JArgument< unsigned long long int >
 
struct  JArgument< float >
 
struct  JArgument< double >
 
struct  JArgument< long double >
 
struct  is_iterator
 Data structure to check whether given data type is an iterator. More...
 
struct  JClass
 Template for generic class types. More...
 
struct  JClass< const T >
 Specialisation of JClass for const class types. More...
 
struct  JClass< T & >
 Specialisation of JClass for reference class types. More...
 
struct  JClass< const T & >
 Specialisation of JClass for const reference class types. More...
 
struct  JClass< T * >
 Specialisation of JClass for pointer class types. More...
 
struct  JClass< const T * >
 Specialisation of JClass for const pointer class types. More...
 
struct  JClass< T *& >
 Specialisation of JClass for pointer class types. More...
 
struct  JClass< const T *& >
 Specialisation of JClass for const pointer class types. More...
 
struct  JClonable
 Template class for object cloning. More...
 
struct  JClonable< JClonable_t, JNullType >
 Template specialisation to define base class for interface of object cloning. More...
 
struct  JColorFacet
 Facet interface to specify text color. More...
 
struct  JColorFacetASCII
 Facet class to specify text color for ASCII. More...
 
struct  JColorFacetELcode
 Facet class to specify text color for ELcode. More...
 
struct  JColorFacetMap_t
 Auxiliary map for color facets. More...
 
struct  JComparable
 Template definition of auxiliary base class for comparison of data structures. More...
 
struct  JComparable< JClass_t, JNullType >
 General purpose specialisation of class JComparable for any data type. More...
 
class  JComparator
 Template definition of auxiliary class to compare objects. More...
 
class  JComparator< JResult_t T::*, JComparator_t >
 Template specialisation of JComparator for comparison between values of data members. More...
 
class  JComparator< JResult_t(T::*)() const, JComparator_t >
 Template specialisation of JComparator for comparison between return values of member methods. More...
 
class  JComparator< const T &(T::*)() const, JComparator_t >
 Template specialisation of JComparator for comparison between return values of member methods. More...
 
struct  JComparison
 Functional implementations of comparison operators. More...
 
class  JConstructor
 Template class test for availability of a suitable constructor JType_t(const JArgument_t). More...
 
struct  JConversion
 Template class test for polymorphism. More...
 
struct  JConversion< T, T >
 Specialisation of JConversion for identical types. More...
 
class  JAssertConversion
 Auxialiary class to assert type conversion. More...
 
class  JAssertConversion< JDerived_t, JBase_t, true >
 Implementation of a valid type conversion. More...
 
class  JConversionIterator
 Interface for object iteration with type conversion. More...
 
class  JCppFacet
 Facet class to specify parsing of a C[++] variable name. More...
 
struct  JCRC_t
 Helper template data structure to evaluate CRC. More...
 
struct  JCRC_t< size, size, T >
 Termination class for recursive JCRC_t class. More...
 
class  JAssignSequence
 Auxiliary class to assign a sequence of Comma Separated Values (CSV). More...
 
struct  JDefault
 Simple default class. More...
 
struct  JHasID
 Test presence of data type identifier in labelled type list. More...
 
struct  JHasID< JTypeList< JHead_t, JTail_t >, ID >
 Recursive test of presence data type identifier in labelled type list. More...
 
struct  JEnumeration
 Enumeration of single data type. More...
 
struct  JEnumeration< JTypeList< JHead_t, JTail_t > >
 Enumeration of multiple data types. More...
 
struct  JEnumeration< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JEnumeration class. More...
 
struct  JEquals
 Template definition of auxiliary base class for comparison of data structures. More...
 
struct  JEquals< JClass_t, JNullType >
 General purpose specialisation of class JEquals for any data type. More...
 
class  JEquation
 General purpose equation class. More...
 
struct  JEquation_t
 Auxiliary data structure to read equations. More...
 
class  JEquationFacet
 Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation). More...
 
struct  JEndOfLine
 Auxiliary class for end of line. More...
 
class  JEquationParameters
 Simple data structure to support I/O of equations (see class JLANG::JEquation). More...
 
class  JException
 General exception. More...
 
class  JIndexOutOfRange
 Exception for accessing an index in a collection that is outside of its range. More...
 
class  JPointerException
 Exception for accessing an invalid pointer. More...
 
class  JFunctionalException
 Exception for a functional operation. More...
 
class  JEmptyCollection
 Exception for an empty collection. More...
 
class  JValueOutOfRange
 Exception for accessing a value in a collection that is outside of its range. More...
 
class  JParseError
 Exception for parsing value. More...
 
class  JNoValue
 Exception for missing value. More...
 
class  JNullPointerException
 Exception for null pointer operation. More...
 
class  JCastException
 Exception for cast operation. More...
 
class  JNumericalPrecision
 Exception for numerical precision error. More...
 
class  JDivisionByZero
 Exception for division by zero. More...
 
class  JMallocException
 Exception for failure of memory allocation. More...
 
class  JNewException
 Exception for failure of memory allocation. More...
 
class  JIOException
 Exception for I/O. More...
 
class  JFileOpenException
 Exception for opening of file. More...
 
class  JFileRecoveryException
 Exception for recovery of file. More...
 
class  JFileReadException
 Exception for reading of file. More...
 
class  JEndOfFile
 Exception for end of file. More...
 
class  JPipeOpenException
 Exception for opening of pipe. More...
 
class  JSelectException
 Exception for select call. More...
 
class  JSocketException
 Exception for socket. More...
 
class  JControlHostException
 Exception for ControlHost. More...
 
class  JSocketChannelException
 Exception for socket channel. More...
 
class  JForkException
 Exception for creation of fork. More...
 
class  JSystemException
 Exception for system call. More...
 
class  JParserException
 Exception when parsing a value. More...
 
class  JPropertiesException
 Exception when parsing a value. More...
 
class  JDictionaryEntryNotFound
 Exception for missing entry in dictionary. More...
 
class  JDictionaryDuplicateEntry
 Exception for duplicate entry in dictionary. More...
 
class  JRunTimeException
 Run time exception. More...
 
class  JTypeInformationException
 Exception for absence of type information. More...
 
class  JProtocolException
 Protocol exception. More...
 
class  JDatabaseException
 Database exception. More...
 
class  JFile
 The JFile class extends the JAbstractFile class. More...
 
class  JFileDescriptorMask
 Auxiliary class for method select. More...
 
class  JFileInputStream
 Streaming of input. More...
 
class  JFileOutputStream
 Streaming of output. More...
 
class  JFileStream
 Streaming of input and output. More...
 
class  JFileInputStreamBuffer
 Input file stream buffer. More...
 
class  JFileOutputStreamBuffer
 Output file stream buffer. More...
 
class  JFileStreamBuffer
 Input and output file stream buffer. More...
 
class  JFind_if
 Template definition of auxiliary class to select objects. More...
 
class  JFind_if< JResult_t T::*, JPredicate_t >
 Template specialisation of JFind_if for selection of objects via data member. More...
 
class  JFind_if< JResult_t(T::*)() const, JPredicate_t >
 Template specialisation of JFind_if for selection of objects via member method. More...
 
class  JForwardIterator
 Template interface for method bool increment(). More...
 
struct  JGroup
 Auxiliary class for a fixed group of objects. More...
 
class  JGZFileReader
 Object reading from gzipped file. More...
 
class  JGZFileWriter
 Object reading from gzipped file. More...
 
class  JNew
 Memory management class for create/release policy based on new/delete. More...
 
class  JNewCArray
 Memory management class for create/release policy based on new []/delete []. More...
 
class  JMalloc
 Memory management class for create/release policy based on malloc()/free(). More...
 
struct  JMultiComparable
 Template definition of auxiliary base class for composite data structures composed of base classes with comparisons capabilities. More...
 
struct  JMultiEquals
 Template definition of auxiliary base class for data structures composed of multiple base classes with equality evaluations capabilities. More...
 
struct  JMultiEquals< JClass_t, JTypeList< head_type, tail_type > >
 Template specialisation of auxiliary base class for data structures composed of multiple base classes with equality evaluations capabilities. More...
 
struct  JMultiPointer
 General purpose class for multiple pointers. More...
 
struct  JMultiPointer< JTypeList< JHead_t, JTail_t > >
 Implementation of multiple pointers for multiple data types. More...
 
struct  JMultiPointer< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JMultiPointer class. More...
 
class  JNullStream
 Streaming of input. More...
 
class  JNullStreamBuffer
 Null stream buffer. More...
 
struct  JNullType
 Auxiliary class for no type definition. More...
 
struct  JNumber
 Wrapper class for integer value. More...
 
struct  JObject
 Auxiliary base class for inline creation of a static value or clone from a temporary object. More...
 
class  JObjectAllocator
 Base class for customized new/delete operators. More...
 
struct  JObjectDemultiplexer
 Auxiliary class for demultiplexing object outputs. More...
 
struct  JObjectDemultiplexer< JBase_t, JTypeList< JHead_t, JTail_t > >
 Template specialisation of JObjectDemultiplexer for multiple object outputs. More...
 
struct  JObjectDemultiplexer< JBase_t, JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JObjectDemultiplexer class. More...
 
class  JObjectID
 Auxiliary class for object identification. More...
 
class  JObjectOutput
 Template interface of object output for single data type. More...
 
class  JValve
 Auxiliary class for selection of data type. More...
 
class  JObjectSelector
 Interface for selection of objects. More...
 
class  JObjectMultiplexer
 Auxiliary class for multiplexing object iterators. More...
 
class  JMultiPipe
 Auxiliary class for object iteration via multiple pipes, e.g. operator: More...
 
class  JObjectIterator
 Interface of object iteration for a single data type. More...
 
class  JObjectIterator< JTypeList< JHead_t, JTail_t > >
 Implementation of object iterator for multiple data types. More...
 
class  JObjectIterator< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JObjectIterator class. More...
 
struct  JNullIterator
 Implementation for null iteration. More...
 
class  JRewindableObjectIterator
 Interface for object iteration with rewinding. More...
 
class  JAccessibleObjectIterator
 Interface for object iteration with named access. More...
 
class  JObjectMultiplexer< JTypeList< JHead_t, JTail_t >, JBase_t >
 Template specialisation of JObjectMultiplexer for multiple object iterators. More...
 
class  JObjectMultiplexer< JTypeList< JHead_t, JNullType >, JBase_t >
 Terminator class of recursive JObjectMultiplexer class. More...
 
class  JObjectOutput< JTypeList< JHead_t, JTail_t > >
 Implementation of object output for multiple data types. More...
 
class  JObjectOutput< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JObjectOutput class. More...
 
class  JAccessibleObjectOutput
 Interface for object output with named access. More...
 
struct  JNullOutput
 Implementation of null output for single data type. More...
 
struct  JNullOutput< JTypeList< JHead_t, JTail_t > >
 Implemenatation of null output for multiple data types. More...
 
struct  JNullOutput< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JNullOutput class. More...
 
struct  JNullAccessibleOutput
 Implementation for null output with null access. More...
 
struct  JObjectReader
 Auxiliary class for object reading. More...
 
struct  JRewindableObjectReader
 Auxiliary class for object reading with rewinding. More...
 
struct  JAccessibleObjectReader
 Auxiliary class for object reading with named access. More...
 
class  JObjectSampler
 Auxiliary class to sample objects from a JRewindableObjectIterator. More...
 
class  JObjectSelector< JTypeList< JHead_t, JTail_t > >
 Interface for multiple selection of objects. More...
 
class  JObjectSelector< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JObjectSelector class. More...
 
struct  JObjectStatus
 Auxiliary class for status of object. More...
 
struct  JObjectStreamIO
 Auxiliary base class for storing and loading a single object to and from an ASCII file, respectively. More...
 
struct  JObjectWriter
 Auxiliary class for object writing to a named device. More...
 
struct  JAccessibleObjectWriter
 Auxiliary class for object writing with named access. More...
 
class  JParameter
 Parameter class. More...
 
class  JPipe
 Auxiliary class for object iteration via pipe, i.e. operator: More...
 
class  JPipe< JTypeList< JHead_t, JTail_t > >
 Implementation of object iterator for multiple data types. More...
 
class  JPipe< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JPipe class. More...
 
class  JPointer
 Template implementation of class that holds pointer to object(s). More...
 
class  JPredicate
 Template definition of auxiliary class to select objects. More...
 
class  JPredicate< JResult_t T::*, JComparator_t >
 Template specialisation of JPredicate for selection of objects via data member. More...
 
class  JPredicate< JResult_t(T::*)() const, JComparator_t >
 Template specialisation of JPredicate for selection of objects via member method. More...
 
class  JPrintHelper
 Auxiliary class to print via member method const char* str() const;. More...
 
struct  JPrinter
 Auxiliary class to temporarily replace std::ostream. More...
 
class  JRAM
 Memory management for small objects. More...
 
class  JRedirectStream
 This class can be used to temporarily redirect one output (input) stream to another output (input) stream. More...
 
class  JRedirectString
 This class can be used to temporarily redirect an input stream to an input string. More...
 
class  JReference
 The template JReference class can be used to reference an object. More...
 
class  JReference< const JClass_t >
 Template specialisation of JReference class for const data type. More...
 
class  JReference< JClass_t *const >
 Template specialisation of JReference class for pointer type. More...
 
class  JRegulator
 Interface for controlling object throughput. More...
 
class  JResolve
 Test existence of class T. More...
 
class  JRewindable
 Template interface of rewindable object. More...
 
struct  JSampler
 Template class for sampling from a JRewindableObjectIterator. More...
 
class  JSharedCounter
 Shared counter. More...
 
class  JSharedPointer
 The template JSharedPointer class can be used to share a pointer to an object. More...
 
class  JSinglePointer
 The template JSinglePointer class can be used to hold a pointer to an object. More...
 
struct  JSingleton
 Simple singleton class. More...
 
struct  JStatic
 Template data structure for static member declaration. More...
 
struct  JStatic< T *, N >
 Template specialisation of JStatic for static member declaration of pointer. More...
 
struct  JSTDObjectIterator
 Implementation of object iteration from STD container. More...
 
class  JSTDObjectOutput
 Implementation of object output for STD compatible output iterator. More...
 
struct  JSTDObjectReader
 Implementation of object iteration from STD container. More...
 
struct  JSTDObjectReader< JTypeList< JHead_t, JTail_t > >
 Implementation of object iteration from STD container for multiple data types. More...
 
struct  JSTDObjectReader< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JSTDObjectReader class. More...
 
struct  JSTDObjectReader< const T >
 Specialisation of object iteration from STD container for constant data. More...
 
class  JSTDObjectWriter
 Implementation of object output from STD container. More...
 
struct  JSTDObjectWriter< JTypeList< JHead_t, JTail_t > >
 Implementation of object output from STD container for multiple data types. More...
 
struct  JSTDObjectWriter< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JSTDObjectWriter class. More...
 
class  JStorage
 Template storage class. More...
 
class  JStreamObjectIterator
 Stream object iterator. More...
 
class  JStreamObjectOutput
 Template implementation of stream output for single data type. More...
 
class  JStreamObjectOutput< JTypeList< JHead_t, JTail_t > >
 Template specialisationimplementation of stream object output for multiple data types. More...
 
class  JStreamObjectOutput< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JStreamObjectOutput class. More...
 
class  JStreamState
 This class can be used to temporarily exchange the states between streams. More...
 
class  JString
 Wrapper class around STL string class. More...
 
class  JStringFacet
 Facet class to specify parsing of a JLANG::JString object. More...
 
class  JStringStream
 Wrapper class around STL stringstream class to facilitate optional loading of data from file. More...
 
class  JSwitch
 Template selection of type specifier. More...
 
class  JSwitch< true, A, B >
 Template specialisation of selection of type specifier. More...
 
struct  JTemplate
 Auxiliary class for managing multiple objects. More...
 
struct  JTemplate< JTypeList< JHead_t, JTail_t > >
 Auxiliary class for managing multiple objects. More...
 
struct  JTemplate< JTypeList< JHead_t > >
 Auxiliary class for managing multiple objects. More...
 
struct  JTemplateReader
 Template definition of auxiliary base class for composite data types which derive from one or more base classes for which the redirect operator << is defined. More...
 
struct  JTemplateReader< JReader_t, JNullType, JNullType >
 Specialisation of class JTemplateReader for general purpose write methods. More...
 
struct  JTemplateReader< JReader_t, JClass_t, JTypeList< JHead_t, JTail_t > >
 Specialisation of class JTemplateReader for composite data type. More...
 
struct  JTemplateWriter
 Template definition of auxiliary base class for composite data types which derive from one or more base classes for which the redirect operator << is defined. More...
 
struct  JTemplateWriter< JWriter_t, JNullType, JNullType >
 Specialisation of class JTemplateWriter for general purpose write methods. More...
 
struct  JTemplateWriter< JWriter_t, JClass_t, JTypeList< JHead_t, JTail_t > >
 Specialisation of class JTemplateWriter for composite data type. More...
 
struct  JTest
 Auxiliary base class for compile time evaluation of test. More...
 
class  JThrow
 Auxiliary base class for controling the throwing of exceptions. More...
 
class  JTimeval
 Auxiliary class for time values. More...
 
class  JTitle
 Auxiliary class for title. More...
 
class  JToken
 Wrapper class around string. More...
 
struct  JType
 Auxiliary class for a type holder. More...
 
struct  JLabel_t
 Auxiliary data structure to label data types within a type list. More...
 
class  JTypeID_t
 Test availability of static member methods for labelling data types in a type list. More...
 
class  JTypeInfo
 This class is a wrapper around the STL type_info class. More...
 
struct  JTypeList
 Type list. More...
 
struct  JMultipleType
 List of identical types. More...
 
struct  JMultipleType< 1, T >
 Terminator class of list of identical types. More...
 
struct  JAppend
 Append to type list. More...
 
struct  JAppend< JNullType, JNullType >
 Template specialisation of append to type list. More...
 
struct  JAppend< JNullType, T >
 Template specialisation of append to type list. More...
 
struct  JAppend< JNullType, JTypeList< JHead_t, JTail_t > >
 Template specialisation of append to type list. More...
 
struct  JAppend< JTypeList< JHead_t, JTail_t >, T >
 Template specialisation of append to type list. More...
 
struct  JRemove
 Removal of data type from type list. More...
 
struct  JRemove< JNullType, T >
 Template specialisation of removal of data type from type list. More...
 
struct  JRemove< JTypeList< T, JTail_t >, T >
 Template specialisation of removal of data type from type list. More...
 
struct  JRemove< JTypeList< JHead_t, JTail_t >, T >
 Template specialisation of removal of data type from type list. More...
 
struct  JRemove< JTypeList< JHead_t1, JTail_t1 >, JTypeList< JHead_t2, JTail_t2 > >
 Template specialisation of removal of type list from type list. More...
 
struct  JRemove< JTypeList< JHead_t1, JTail_t1 >, JTypeList< JHead_t2, JNullType > >
 Template specialisation of removal of type list from type list. More...
 
struct  JLength
 Length of type list. More...
 
struct  JLength< JTypeList< JHead_t, JTail_t > >
 Recursive length of type list. More...
 
struct  JLength< JNullType >
 Terminator class of length of type list. More...
 
struct  JHasType
 Test presence of data type in type list. More...
 
struct  JHasType< JTypeList< JHead_t, JTail_t >, T >
 Recursive test of presence data type in type list. More...
 
struct  JHasType< JTypeList< T, JTail_t >, T >
 Identify presence data type in type list. More...
 
struct  JHasType< JNullType, T >
 Termination of recursive test of presence data type in type list. More...
 
struct  JHasType< T, T >
 Specialisation of JHasType for single class type. More...
 
struct  JResolveTypeList
 Resolve template class to JTypeList. More...
 
struct  JResolveTypeList< JTypeList< JHead_t, JTail_t > >
 Resolve JTypeList to JTypeList. More...
 
struct  JTypeAt
 Extraction of data type from type list. More...
 
struct  JTypeAt< JTypeList< JHead_t, JTail_t >, index, range_check >
 Recursive extraction of data type from type list. More...
 
struct  JTypeAt< JTypeList< JHead_t, JTail_t >, 0, range_check >
 Termination of recursive extraction of data type from type list. More...
 
struct  JTypeAt< JNullType, index, false >
 Termination of recursive extraction of data type from type list. More...
 
struct  JIndexOf
 Indexing of data type in type list. More...
 
struct  JIndexOf< JTypeList< JHead_t, JTail_t >, T >
 Recursive indexing of data type in type list. More...
 
struct  JIndexOf< JTypeList< T, JTail_t >, T >
 Identify indexi of data type in type list. More...
 
struct  JIndexOf< JNullType, T >
 Termination of recursive indexing of data type in type list. More...
 
struct  JTYPELIST
 Auxiliary class for recursive type list generation. More...
 
struct  JTYPELIST< JTypeList< JHead_t, JTail_t >, T, Args... >
 Template specialisation for expanding type list. More...
 
struct  JTYPELIST< JTypeList< JHead_t, JNullType >, T, Args... >
 Template specialisation for expanding type list. More...
 
struct  JTYPELIST< JTypeList< JHead_t, JTail_t > >
 Template specialisation for expanding type list. More...
 
struct  JTYPELIST< T >
 Termination class for type list generation. More...
 
struct  JTYPELIST< JNullType >
 Termination class for type list generation. More...
 
struct  JTypeSelector
 Auxiliary class for selection of data type. More...
 
struct  JTypeSelector< JTypeList< JHead_t, JTail_t > >
 Auxiliary class for selection of multiple data types. More...
 
struct  JTypeSelector< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JTypeSelector class. More...
 
struct  JUUID
 Simple wrapper for UUID. More...
 
class  JValueOutput
 Forward declaration for friend declaration of JValueOutput inside JValueInput. More...
 
class  JValueInput
 Wrapper class around template object. More...
 
class  JValue
 Wrapper class around template object. More...
 
class  JValve< JTypeList< JHead_t, JTail_t > >
 Auxiliary class for selection of multiple data types. More...
 
class  JValve< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JValve class. More...
 
struct  array_type
 Auxiliary data structure for return type of make methods. More...
 
struct  JVoid
 Auxiliary class for void type definition. More...
 
class  JMask
 Auxiliary class to ensure that the mask set is defined prior to the ctype<>() constructor call. More...
 
class  JWhiteSpacesFacet
 Auxiliary class to specify white space character(s) in currect locale. More...
 

Typedefs

typedef JBool< true > JTRUE
 True type. More...
 
typedef JBool< false > JFALSE
 False type. More...
 
typedef JTYPELIST< JColorFacetASCII, JColorFacetELcode >::typelist JColorFacetTypes_t
 Typelist of color facets. More...
 
typedef JLANG::JEquationFacet setequation
 Type definition of stream manipulator for equational I/O. More...
 
typedef unsigned int skip_type
 Type definition for number of objects to skip. More...
 
typedef JTYPELIST< bool, char, unsigned char, short, unsigned short, int, unsigned int, long int, unsigned long int, long long int, unsigned long long int, float, double, long double >::typelist JPrimitiveTypes_t
 List of primitive types. More...
 

Enumerations

enum  JColor_t {
  RED , GREEN , BLUE , WHITE ,
  CYAN , PURPLE , YELLOW , RESET ,
  BOLD
}
 Enumeration of text colors. More...
 
enum  JPrintOption_t { SHORT_PRINT = 1 , MEDIUM_PRINT = 2 , LONG_PRINT = 3 }
 Print options. More...
 
enum  JTwosome { LEFT = 0 , RIGHT }
 Enumeration for two of a kind. More...
 

Functions

template<bool __value__>
static JBool<!__value__ > c_not (const JBool< __value__ > &value)
 Make logical NOT. More...
 
template<bool __first__, bool __second__>
JBool< __first__==__second__ > c_equals (const JBool< __first__ > &first, const JBool< __second__ > &second)
 Make logical EQUALS. More...
 
template<bool __first__, bool __second__>
JBool< __first__==__second__ > c_and (const JBool< __first__ > &first, const JBool< __second__ > &second)
 Make logical AND. More...
 
template<bool __first__, bool __second__>
JBool< __first__==__second__ > c_or (const JBool< __first__ > &first, const JBool< __second__ > &second)
 Make logical OR. More...
 
template<bool __first__, bool __second__>
JBool< __first__==__second__ > c_xor (const JBool< __first__ > &first, const JBool< __second__ > &second)
 Make logical XOR. More...
 
template<class T , class JResult_t >
JComparator< JResult_t T::*, JComparison::ltmake_comparator (JResult_t T::*member)
 Helper method to create comparator between values of data member. More...
 
template<class T , class JResult_t , class JComparator_t >
JComparator< JResult_t T::*, JComparator_t > make_comparator (JResult_t T::*member, const JComparator_t &comparator)
 Helper method to create comparator between values of data member. More...
 
template<class T , class JResult_t >
JComparator< JResult_t(T::*)() const, JComparison::ltmake_comparator (JResult_t(T::*function)() const)
 Helper method to create comparator between return values of member method. More...
 
template<class T , class JResult_t , class JComparator_t >
JComparator< JResult_t(T::*)() const, JComparator_t > make_comparator (JResult_t(T::*function)() const, const JComparator_t &comparator)
 Helper method to create comparator between return values of member method. More...
 
template<std::size_t N>
constexpr size_t crc (const char(&buffer)[N])
 Get CRC value at compile time. More...
 
size_t crc (const std::string &buffer)
 Get CRC value at runpile time. More...
 
template<class JOutputIterator_t >
JAssignSequence< typename JOutputIterator_t::container_type::value_type > iter_assign (const JOutputIterator_t &out)
 Helper method to assign sequence of Comma Separated Values to output iterator. More...
 
template<class JContainer_t >
JAssignSequence< typename JContainer_t::value_type > assign (JContainer_t &out)
 Helper method to assign sequence of Comma Separated Values to output container. More...
 
template<class JOutputIterator_t >
JAssignSequence< typename JOutputIterator_t::container_type::value_type > assign (const JOutputIterator_t &out)
 Helper method to assign sequence of Comma Separated Values to output iterator. More...
 
std::istream & operator>> (std::istream &in, const JLANG::JEquationFacet &facet)
 Parse facet. More...
 
std::ostream & operator<< (std::ostream &out, const JLANG::JEquationFacet &facet)
 Parse facet. More...
 
std::ostream & white_space (std::ostream &out)
 Print white space. More...
 
std::ostream & division (std::ostream &out)
 Print division. More...
 
std::ostream & separator (std::ostream &out)
 Print separator. More...
 
std::ostream & left_bracket (std::ostream &out)
 Print left bracket. More...
 
std::ostream & right_bracket (std::ostream &out)
 Print right bracket. More...
 
template<class T , class JResult_t , class JPredicate_t >
JFind_if< JResult_t T::*, JPredicate_t > make_find_if (JResult_t T::*member, const JPredicate_t &predicate)
 Helper method to create find_if for data member. More...
 
template<class T , class JResult_t , class JPredicate_t >
JFind_if< JResult_t(T::*)() const, JPredicate_t > make_find_if (JResult_t(T::*function)() const, const JPredicate_t &predicate)
 Helper method to create find_if for return values of member method. More...
 
template<class T , size_t N>
size_t getSize (T(&array)[N])
 Get size of c-array. More...
 
template<class JFirst_t , class JSecond_t >
bool is_identical (JFirst_t &first, JSecond_t &second)
 Check if two objects are indentical. More...
 
bool is_integer (const std::string &buffer)
 Check if string is an integer. More...
 
std::string trim (const std::string &buffer)
 Trim string. More...
 
std::string trim (const std::string &buffer, const char c)
 Trim string. More...
 
std::string replace (const std::string &input, const std::string &target, const std::string &replacement)
 Replace tokens in string. More...
 
std::string replace (const std::string &input, const char target, const std::string &replacement)
 Replace characters in string. More...
 
std::string replace (const std::string &input, const char target, const char replacement)
 Replace characters in string. More...
 
std::string trim (const std::string &buffer, const std::string &target)
 Trim string. More...
 
template<class T >
std::string to_string (const T &value)
 Convert value to string. More...
 
template<class T >
to_value (const std::string &input)
 Convert string to value. More...
 
std::string to_upper (const std::string &value)
 Convert all character to upper case. More...
 
std::string to_lower (const std::string &value)
 Convert all character to lower case. More...
 
size_t get_number_of_tokens (const std::string &buffer)
 Count number of white space separated tokens. More...
 
bool is_single_quoted (const std::string &value)
 Check quotation. More...
 
bool is_double_quoted (const std::string &value)
 Check quotation. More...
 
std::string single_quote (const std::string &value)
 Quote string. More...
 
std::string double_quote (const std::string &value)
 Quote string. More...
 
int getIndex ()
 Get index for user I/O manipulation. More...
 
template<class T >
T & getInstance (const T &object)
 Get static instance from temporary object. More...
 
const JObjectIDgetUndefinedObjectID ()
 Get undefined object identifier. More...
 
template<class JReader_t >
bool getError (const JReader_t &reader)
 Get error status of reader. More...
 
bool getError (const std::ifstream &reader)
 Get error status of reader. More...
 
template<class JReader_t , class T >
void load (const std::string &file_name, T &object)
 Load object from input file. More...
 
template<class JWriter_t , class T >
void store (const std::string &file_name, const T &object)
 Store object to output file. More...
 
template<class JReader_t , class T >
void load (const std::string &file_name, T &object, JType< JReader_t > type)
 Load object from input file. More...
 
template<class JWriter_t , class T >
void store (const std::string &file_name, const T &object, JType< JWriter_t > type)
 Store object to output file. More...
 
template<class T >
void load (const std::string &file_name, T &object)
 Load object from input file. More...
 
template<class T >
void store (const std::string &file_name, const T &object)
 Store object to output file. More...
 
const char * getGITVersion ()
 Get GIT version. More...
 
const char * getGITCommit ()
 Get GIT commit. More...
 
const char * getGITDate ()
 Get GIT date. More...
 
const char * getNamespace ()
 Get namespace. More...
 
const char * getSource ()
 Get source. More...
 
template<class T , class JResult_t >
JPredicate< JResult_t T::*, JComparison::eqmake_predicate (JResult_t T::*member, const JResult_t value)
 Helper method to create predicate for data member. More...
 
template<class T , class JResult_t , class JComparator_t >
JPredicate< JResult_t T::*, JComparator_t > make_predicate (JResult_t T::*member, const JResult_t value, const JComparator_t &comparator)
 Helper method to create predicate for data member. More...
 
template<class T , class JResult_t >
JPredicate< JResult_t(T::*)() const, JComparison::eqmake_predicate (JResult_t(T::*function)() const, const JResult_t value)
 Helper method to create predicate for return values of member method. More...
 
template<class T , class JResult_t >
JPredicate< const JResult_t &(T::*)() const, JComparison::eqmake_predicate (const JResult_t &(T::*function)() const, const JResult_t &value)
 Helper method to create predicate for return values of member method. More...
 
template<class T , class JResult_t , class JComparator_t >
JPredicate< JResult_t(T::*)() const, JComparator_t > make_predicate (JResult_t(T::*function)() const, const JResult_t value, const JComparator_t &comparator)
 Helper method to create predicate for return values of member method. More...
 
template<class T , class JResult_t , class JComparator_t >
JPredicate< const JResult_t &(T::*)() const, JComparator_t > make_predicate (const JResult_t &(T::*function)() const, const JResult_t &value, const JComparator_t &comparator)
 Helper method to create predicate for return values of member method. More...
 
template<class JElement_t , class JAllocator_t >
JSTDObjectOutput< std::back_insert_iterator< std::vector< JElement_t, JAllocator_t > > > getObjectOutput (std::vector< JElement_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JElement_t , class JAllocator_t >
JSTDObjectOutput< std::back_insert_iterator< std::list< JElement_t, JAllocator_t > > > getObjectOutput (std::list< JElement_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JElement_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput< std::insert_iterator< std::set< JElement_t, JComparator_t, JAllocator_t > > > getObjectOutput (std::set< JElement_t, JComparator_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JElement_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput< std::insert_iterator< std::set< JElement_t, JComparator_t, JAllocator_t > > > getObjectOutput (std::multiset< JElement_t, JComparator_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput< std::insert_iterator< std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > > > getObjectOutput (std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput< std::insert_iterator< std::multimap< JKey_t, JValue_t, JComparator_t, JAllocator_t > > > getObjectOutput (std::multimap< JKey_t, JValue_t, JComparator_t, JAllocator_t > &buffer)
 Helper method to create STD compatible object output. More...
 
template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const JValue_t & getValue (const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &map, const JKey_t &key, const JValue_t &value)
 Get value in map. More...
 
template<class JElement_t , class JAllocator_t >
void putEndMarker (std::vector< JElement_t, JAllocator_t > &buffer, const JElement_t &value)
 Put end marker. More...
 
std::istream & getline (std::istream &in, JString &object)
 Read string from input stream until end of line. More...
 
template<class T >
JType< T > getType ()
 Get type. More...
 
const char * getDefaultName ()
 Get default name of data type. More...
 
int getDefaultVersion ()
 Get default version of data type. More...
 
template<class JObject_t , class JHead_t , class JTail_t >
JObject_t & for_each (JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
 For each data type method. More...
 
template<class JObject_t , class T >
JObject_t & for_each (JObject_t &object, JType< T > type)
 For each data type method. More...
 
template<class JObject_t >
JObject_t & for_each (JObject_t &object, JType< JNullType > type)
 Termination method of for each data type method. More...
 
template<class JTypelist_t , class JObject_t >
JObject_t & for_each (JObject_t &object)
 For each data type method. More...
 
template<class T >
std::istream & operator>> (std::istream &in, JValueInput< T > &object)
 Read JStreamInput from input stream. More...
 
template<class T >
std::ostream & operator<< (std::ostream &out, const JValueOutput< T > &object)
 Write JStreamOutput to output stream. More...
 
template<class JValue_t , size_t N>
const array_type< JValue_t > & make_array (const JValue_t(&array)[N])
 Method to create array of values. More...
 
template<class T >
const array_type< typename std::iterator_traits< T >::value_type > & make_array (T __begin, T __end)
 Method to create array of values. More...
 
template<class T , class JType_t , class JValue_t >
const array_type< typename JClass< JValue_t >::value_type > & make_array (T __begin, T __end, JValue_t const JType_t::*value)
 Method to create array of values of data member. More...
 
template<class T , class JType_t , class JValue_t >
const array_type< typename JClass< JValue_t >::value_type > & make_array (T __begin, T __end, JValue_t(JType_t::*function)() const)
 Method to create array of return values of member method. More...
 
template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const array_type< JKey_t > & get_keys (const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &data)
 Method to create array of keys of map. More...
 
template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const array_type< JValue_t > & get_values (const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &data)
 Method to create array of values of map. More...
 
template<class T , class JResult_t , class JComparator_t >
make_set (T __begin, T __end, JResult_t std::iterator_traits< T >::value_type::*value, const JComparator_t &comparator)
 Method to exclude outliers from already sorted data. More...
 
template<class T >
getMaximum (const array_type< T > &buffer, const T value)
 Get maximum of values. More...
 
template<class T >
getMinimum (const array_type< T > &buffer, const T value)
 Get minimum of values. More...
 
template<class T , class JCompare_t >
size_t getCount (const array_type< T > &buffer, const JCompare_t &compare)
 Count number of unique values. More...
 
template<class T >
size_t getCount (const array_type< T > &buffer)
 Count number of unique values. More...
 

Variables

static const JTRUE JTrue_t
 True value. More...
 
static const JFALSE JFalse_t
 False value. More...
 
static const JColorFacetMap_t color_facets
 Color facets. More...
 
static const JLANG::JEndOfLine end_of_line
 Print end of line. More...
 
static JNullStream null
 Null I/O stream. More...
 
static const JGroup< double > & getElement = JGroup<double>::getInstance()
 

Detailed Description

Auxiliary classes and methods for language specific functionality.

Author
mdejong

Typedef Documentation

◆ JTRUE

typedef JBool<true> JLANG::JTRUE

True type.

Definition at line 266 of file JBool.hh.

◆ JFALSE

typedef JBool<false> JLANG::JFALSE

False type.

Definition at line 267 of file JBool.hh.

◆ JColorFacetTypes_t

Typelist of color facets.

Definition at line 272 of file JColorFacet.hh.

◆ setequation

Type definition of stream manipulator for equational I/O.

Definition at line 477 of file JEquationFacet.hh.

◆ skip_type

typedef unsigned int JLANG::skip_type

Type definition for number of objects to skip.

Definition at line 25 of file JObjectIterator.hh.

◆ JPrimitiveTypes_t

typedef JTYPELIST<bool, char, unsigned char, short, unsigned short, int, unsigned int, long int, unsigned long int, long long int, unsigned long long int, float, double, long double>::typelist JLANG::JPrimitiveTypes_t

List of primitive types.

List of all primitive types

Definition at line 30 of file JPrimitiveTypes.hh.

Enumeration Type Documentation

◆ JColor_t

Enumeration of text colors.

Enumerator
RED 

red

GREEN 

green

BLUE 

blue

WHITE 

white

CYAN 

cyan

PURPLE 

purple

YELLOW 

yellow

RESET 

reset

BOLD 

bold

Definition at line 29 of file JColorFacet.hh.

29  {
30  RED, //!< red
31  GREEN, //!< green
32  BLUE, //!< blue
33  WHITE, //!< white
34  CYAN, //!< cyan
35  PURPLE, //!< purple
36  YELLOW, //!< yellow
37  RESET, //!< reset
38  BOLD //!< bold
39  };
@ RED
red
Definition: JColorFacet.hh:30
@ PURPLE
purple
Definition: JColorFacet.hh:35
@ CYAN
cyan
Definition: JColorFacet.hh:34
@ RESET
reset
Definition: JColorFacet.hh:37
@ YELLOW
yellow
Definition: JColorFacet.hh:36
@ WHITE
white
Definition: JColorFacet.hh:33
@ GREEN
green
Definition: JColorFacet.hh:31
@ BOLD
bold
Definition: JColorFacet.hh:38
@ BLUE
blue
Definition: JColorFacet.hh:32

◆ JPrintOption_t

Print options.

Enumerator
SHORT_PRINT 

short print

MEDIUM_PRINT 

medium print

LONG_PRINT 

long print

Definition at line 37 of file JManip.hh.

37  {
38  SHORT_PRINT = 1, //!< short print
39  MEDIUM_PRINT = 2, //!< medium print
40  LONG_PRINT = 3 //!< long print
41  };
@ SHORT_PRINT
short print
Definition: JManip.hh:38
@ MEDIUM_PRINT
medium print
Definition: JManip.hh:39
@ LONG_PRINT
long print
Definition: JManip.hh:40

◆ JTwosome

Enumeration for two of a kind.

Enumerator
LEFT 
RIGHT 

Definition at line 18 of file JTwosome.hh.

18 { LEFT = 0, RIGHT };
@ LEFT
Definition: JTwosome.hh:18
@ RIGHT
Definition: JTwosome.hh:18

Function Documentation

◆ c_not()

template<bool __value__>
static JBool<!__value__> JLANG::c_not ( const JBool< __value__ > &  value)
static

Make logical NOT.

Parameters
valuevalue
Returns
logical NOT

Definition at line 200 of file JBool.hh.

201  {
202  return value.c_not();
203  }
static JBool<!value > c_not()
Make logical NOT.
Definition: JBool.hh:57

◆ c_equals()

template<bool __first__, bool __second__>
JBool<__first__ == __second__> JLANG::c_equals ( const JBool< __first__ > &  first,
const JBool< __second__ > &  second 
)
inline

Make logical EQUALS.

Parameters
firstfirst value
secondsecond value
Returns
logical EQUALS

Definition at line 214 of file JBool.hh.

216  {
217  return first.c_equals(second);
218  }
static JBool< value==option > c_equals()
Make logical EQUALS.
Definition: JBool.hh:69

◆ c_and()

template<bool __first__, bool __second__>
JBool<__first__ == __second__> JLANG::c_and ( const JBool< __first__ > &  first,
const JBool< __second__ > &  second 
)
inline

Make logical AND.

Parameters
firstfirst value
secondsecond value
Returns
logical AND

Definition at line 229 of file JBool.hh.

231  {
232  return first.c_and(second);
233  }
static JBool< value &&option > c_and()
Make logical AND.
Definition: JBool.hh:94

◆ c_or()

template<bool __first__, bool __second__>
JBool<__first__ == __second__> JLANG::c_or ( const JBool< __first__ > &  first,
const JBool< __second__ > &  second 
)
inline

Make logical OR.

Parameters
firstfirst value
secondsecond value
Returns
logical OR

Definition at line 244 of file JBool.hh.

246  {
247  return first.c_or(second);
248  }
static JBool< value||option > c_or()
Make logical OR.
Definition: JBool.hh:119

◆ c_xor()

template<bool __first__, bool __second__>
JBool<__first__ == __second__> JLANG::c_xor ( const JBool< __first__ > &  first,
const JBool< __second__ > &  second 
)
inline

Make logical XOR.

Parameters
firstfirst value
secondsecond value
Returns
logical XOR

Definition at line 259 of file JBool.hh.

261  {
262  return first.c_xor(second);
263  }
static JBool< value !=option > c_xor()
Make logical XOR.
Definition: JBool.hh:144

◆ make_comparator() [1/4]

template<class T , class JResult_t >
JComparator<JResult_t T::*, JComparison::lt> JLANG::make_comparator ( JResult_t T::*  member)

Helper method to create comparator between values of data member.

Parameters
memberpointer to data member
Returns
comparator between objects

Definition at line 185 of file JLang/JComparator.hh.

186  {
188  }
Template definition of auxiliary class to compare objects.

◆ make_comparator() [2/4]

template<class T , class JResult_t , class JComparator_t >
JComparator<JResult_t T::*, JComparator_t> JLANG::make_comparator ( JResult_t T::*  member,
const JComparator_t &  comparator 
)

Helper method to create comparator between values of data member.

Parameters
memberpointer to data member
comparatorcomparator between values of data members
Returns
comparator between objects

Definition at line 199 of file JLang/JComparator.hh.

201  {
202  return JComparator<JResult_t T::*, JComparator_t>(member, comparator);
203  }
Template specialisation of JComparator for comparison between values of data members.

◆ make_comparator() [3/4]

template<class T , class JResult_t >
JComparator<JResult_t (T::*)() const, JComparison::lt> JLANG::make_comparator ( JResult_t(T::*)() const  function)

Helper method to create comparator between return values of member method.

Parameters
functionpointer to member method
Returns
comparator between objects

Definition at line 213 of file JLang/JComparator.hh.

214  {
216  }

◆ make_comparator() [4/4]

template<class T , class JResult_t , class JComparator_t >
JComparator<JResult_t (T::*)() const, JComparator_t> JLANG::make_comparator ( JResult_t(T::*)() const  function,
const JComparator_t &  comparator 
)

Helper method to create comparator between return values of member method.

Parameters
functionpointer to member method
comparatorcomparator between return values
Returns
comparator between objects

Definition at line 227 of file JLang/JComparator.hh.

229  {
230  return JComparator<JResult_t (T::*)() const, JComparator_t>(function, comparator);
231  }
Template specialisation of JComparator for comparison between return values of member methods.

◆ crc() [1/2]

template<std::size_t N>
constexpr size_t JLANG::crc ( const char(&)  buffer[N])
constexpr

Get CRC value at compile time.

Parameters
bufferinput
Returns
CRC

Definition at line 97 of file JCRC.hh.

98  {
99  return JCRC_t<N-1>::evaluate(buffer);
100  }
Helper template data structure to evaluate CRC.
Definition: JCRC.hh:71

◆ crc() [2/2]

size_t JLANG::crc ( const std::string &  buffer)
inline

Get CRC value at runpile time.

Parameters
bufferinput
Returns
CRC

Definition at line 109 of file JCRC.hh.

110  {
111  size_t value = 0xFFFFFFFF;
112 
113  for (size_t i = 0; i != buffer.size(); ++i) {
114  value = (value >> 8) ^ CRC[(value ^ buffer[i]) & 0xFF];
115  }
116 
117  return value ^ 0xFFFFFFFF;
118  }

◆ iter_assign()

template<class JOutputIterator_t >
JAssignSequence<typename JOutputIterator_t::container_type::value_type> JLANG::iter_assign ( const JOutputIterator_t &  out)

Helper method to assign sequence of Comma Separated Values to output iterator.

Parameters
outoutput iterator
Returns
value assigner

Definition at line 114 of file JCSV.hh.

115  {
116  typedef typename JOutputIterator_t::container_type::value_type value_type;
117 
119  }
Auxiliary class to assign a sequence of Comma Separated Values (CSV).
Definition: JCSV.hh:42
Implementation of object output for STD compatible output iterator.
Implementation of object output from STD container.

◆ assign() [1/2]

template<class JContainer_t >
JAssignSequence<typename JContainer_t::value_type> JLANG::assign ( JContainer_t &  out)

Helper method to assign sequence of Comma Separated Values to output container.

Parameters
outoutput container
Returns
value assigner

Definition at line 129 of file JCSV.hh.

130  {
131  typedef typename JContainer_t::value_type value_type;
132 
134  }

◆ assign() [2/2]

template<class JOutputIterator_t >
JAssignSequence<typename JOutputIterator_t::container_type::value_type> JLANG::assign ( const JOutputIterator_t &  out)

Helper method to assign sequence of Comma Separated Values to output iterator.

Parameters
outoutput iterator
Returns
value assigner

Definition at line 144 of file JCSV.hh.

145  {
146  return iter_assign(out);
147  }
JAssignSequence< typename JOutputIterator_t::container_type::value_type > iter_assign(const JOutputIterator_t &out)
Helper method to assign sequence of Comma Separated Values to output iterator.
Definition: JCSV.hh:114

◆ operator>>() [1/2]

std::istream& JLANG::operator>> ( std::istream &  in,
const JLANG::JEquationFacet facet 
)
inline

Parse facet.

Parameters
ininput stream
facetfacet
Returns
input stream

Definition at line 487 of file JEquationFacet.hh.

488  {
489  using namespace std;
490 
491  in.imbue(locale(in.getloc(), facet.clone()));
492 
493  return in;
494  }
virtual JEquationFacet * clone() const override
Clone this facet.
Definition: JSTDTypes.hh:14

◆ operator<<() [1/2]

std::ostream& JLANG::operator<< ( std::ostream &  out,
const JLANG::JEquationFacet facet 
)
inline

Parse facet.

Parameters
outoutput stream
facetfacet
Returns
output stream

Definition at line 504 of file JEquationFacet.hh.

505  {
506  using namespace std;
507 
508  out.imbue(locale(out.getloc(), facet.clone()));
509 
510  return out;
511  }

◆ white_space()

std::ostream& JLANG::white_space ( std::ostream &  out)
inline

Print white space.

Parameters
outoutput stream
Returns
output stream

Definition at line 520 of file JEquationFacet.hh.

521  {
522  using namespace std;
523  using namespace JLANG;
524 
525  if (has_facet<JEquationFacet>(out.getloc()))
526  out << use_facet<JEquationFacet>(out.getloc()).getDefaultWhiteSpace();
527  else
528  out << ' ';
529 
530  return out;
531  }
Auxiliary classes and methods for language specific functionality.

◆ division()

std::ostream& JLANG::division ( std::ostream &  out)
inline

Print division.

Parameters
outoutput stream
Returns
output stream

Definition at line 540 of file JEquationFacet.hh.

541  {
542  using namespace std;
543  using namespace JLANG;
544 
545  if (has_facet<JEquationFacet>(out.getloc()))
546  out << use_facet<JEquationFacet>(out.getloc()).getDefaultDivision();
547  else
548  out << '.';
549 
550  return out;
551  }

◆ separator()

std::ostream& JLANG::separator ( std::ostream &  out)
inline

Print separator.

Parameters
outoutput stream
Returns
output stream

Definition at line 560 of file JEquationFacet.hh.

561  {
562  using namespace std;
563  using namespace JLANG;
564 
565  if (has_facet<JEquationFacet>(out.getloc()))
566  out << use_facet<JEquationFacet>(out.getloc()).getDefaultSeparator();
567  else
568  out << '=';
569 
570  return out;
571  }

◆ left_bracket()

std::ostream& JLANG::left_bracket ( std::ostream &  out)
inline

Print left bracket.

Parameters
outoutput stream
Returns
output stream

Definition at line 586 of file JEquationFacet.hh.

587  {
588  using namespace std;
589  using namespace JLANG;
590 
591  if (has_facet<JEquationFacet>(out.getloc()))
592  out << use_facet<JEquationFacet>(out.getloc()).getLeftBracket();
593  else
594  out << '(';
595 
596  return out;
597  }

◆ right_bracket()

std::ostream& JLANG::right_bracket ( std::ostream &  out)
inline

Print right bracket.

Parameters
outoutput stream
Returns
output stream

Definition at line 606 of file JEquationFacet.hh.

607  {
608  using namespace std;
609  using namespace JLANG;
610 
611  if (has_facet<JEquationFacet>(out.getloc()))
612  out << use_facet<JEquationFacet>(out.getloc()).getRightBracket();
613  else
614  out << ')';
615 
616  return out;
617  }

◆ make_find_if() [1/2]

template<class T , class JResult_t , class JPredicate_t >
JFind_if<JResult_t T::*, JPredicate_t> JLANG::make_find_if ( JResult_t T::*  member,
const JPredicate_t &  predicate 
)

Helper method to create find_if for data member.

Parameters
memberpointer to data member
predicatepredicate
Returns
find_if

Definition at line 119 of file JFind_if.hh.

120  {
121  return JFind_if<JResult_t T::*, JPredicate_t>(member, predicate);
122  }
Template specialisation of JFind_if for selection of objects via data member.
Definition: JFind_if.hh:29

◆ make_find_if() [2/2]

template<class T , class JResult_t , class JPredicate_t >
JFind_if<JResult_t (T::*)() const, JPredicate_t> JLANG::make_find_if ( JResult_t(T::*)() const  function,
const JPredicate_t &  predicate 
)

Helper method to create find_if for return values of member method.

Parameters
functionpointer to member method
predicatepredicate
Returns
find_if

Definition at line 133 of file JFind_if.hh.

134  {
135  return JFind_if<JResult_t (T::*)() const, JPredicate_t>(function, predicate);
136  }
Template specialisation of JFind_if for selection of objects via member method.
Definition: JFind_if.hh:72

◆ getSize()

template<class T , size_t N>
size_t JLANG::getSize ( T(&)  array[N])
inline

Get size of c-array.

Parameters
arrayarray
Returns
size

Definition at line 32 of file JLangToolkit.hh.

33  {
34  return N;
35  }

◆ is_identical()

template<class JFirst_t , class JSecond_t >
bool JLANG::is_identical ( JFirst_t &  first,
JSecond_t &  second 
)
inline

Check if two objects are indentical.

Parameters
firstfirst object
secondsecond object
Returns
true if addresses are equal; else false

Definition at line 46 of file JLangToolkit.hh.

47  {
48  return (void*) &first == (void*) &second;
49  }

◆ is_integer()

bool JLANG::is_integer ( const std::string &  buffer)
inline

Check if string is an integer.


Parameters
bufferinput string
Returns
true if integer; else false

Definition at line 58 of file JLangToolkit.hh.

59  {
60  using namespace std;
61 
62  for (string::const_iterator i = buffer. begin(); i != buffer.end(); ++i) {
63  if (!isdigit(*i)) {
64  return false;
65  }
66  }
67 
68  return !buffer.empty();
69  }

◆ trim() [1/3]

std::string JLANG::trim ( const std::string &  buffer)
inline

Trim string.


Returns a copy of the string, with leading and trailing white spaces omitted.

Parameters
bufferinput string
Returns
modified string

Definition at line 79 of file JLangToolkit.hh.

80  {
81  using namespace std;
82 
83  string::const_iterator p = buffer. begin();
84  string::const_reverse_iterator q = buffer.rbegin();
85 
86  while (p != q.base() && isspace(*p)) { ++p; }
87  while (p != q.base() && isspace(*q)) { ++q; }
88 
89  return string(p,q.base());
90  }

◆ trim() [2/3]

std::string JLANG::trim ( const std::string &  buffer,
const char  c 
)
inline

Trim string.


Returns a copy of the string, with leading and trailing target characters omitted.

Parameters
bufferinput string
cstrip character
Returns
modified string

Definition at line 101 of file JLangToolkit.hh.

102  {
103  using namespace std;
104 
105  string::const_iterator p = buffer. begin();
106  string::const_reverse_iterator q = buffer.rbegin();
107 
108  while (p != q.base() && *p == c) { ++p; }
109  while (p != q.base() && *q == c) { ++q; }
110 
111  return string(p,q.base());
112  }

◆ replace() [1/3]

std::string JLANG::replace ( const std::string &  input,
const std::string &  target,
const std::string &  replacement 
)
inline

Replace tokens in string.


Returns a copy of the string, with all occurrences of target replaced by replacement.

Parameters
inputinput string
targettarget string
replacementreplacement string
Returns
modified string

Definition at line 124 of file JLangToolkit.hh.

125  {
126  using namespace std;
127 
128  string buffer = input;
129 
130  for (size_t i = buffer.find(target); i != string::npos; i = buffer.find(target,i)) {
131  buffer.replace(buffer.begin() + i, buffer.begin() + i + target.length(), replacement);
132  }
133 
134  return buffer;
135  }

◆ replace() [2/3]

std::string JLANG::replace ( const std::string &  input,
const char  target,
const std::string &  replacement 
)
inline

Replace characters in string.


Returns a copy of the string, with all occurrences of target replaced by replacement.

Parameters
inputinput string
targettarget character
replacementreplacement string
Returns
modified string

Definition at line 147 of file JLangToolkit.hh.

148  {
149  return replace(input, std::string(1, target), replacement);
150  }
TString replace(const TString &target, const TRegexp &regexp, const T &replacement)
Replace regular expression in input by given replacement.
Definition: JPrintResult.cc:63

◆ replace() [3/3]

std::string JLANG::replace ( const std::string &  input,
const char  target,
const char  replacement 
)
inline

Replace characters in string.


Returns a copy of the string, with all occurrences of target replaced by replacement.

Parameters
inputinput string
targettarget character
replacementreplacement character
Returns
modified string

Definition at line 162 of file JLangToolkit.hh.

163  {
164  using namespace std;
165 
166  string buffer = input;
167 
168  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
169  if (*i == target) {
170  *i = replacement;
171  }
172  }
173 
174  return buffer;
175  }

◆ trim() [3/3]

std::string JLANG::trim ( const std::string &  buffer,
const std::string &  target 
)
inline

Trim string.


Returns a copy of the string, with leading and trailing target characters omitted.

Parameters
bufferinput string
targetstrip character(s)
Returns
modified string

Definition at line 186 of file JLangToolkit.hh.

187  {
188  using namespace std;
189 
190  string::const_iterator p = buffer. begin();
191  string::const_reverse_iterator q = buffer.rbegin();
192 
193  while (p != q.base() && target.find(*p) != string::npos) { ++p; }
194  while (p != q.base() && target.find(*q) != string::npos) { ++q; }
195 
196  return string(p,q.base());
197  }

◆ to_string()

template<class T >
std::string JLANG::to_string ( const T &  value)
inline

Convert value to string.

Parameters
valuevalue
Returns
string

Definition at line 207 of file JLangToolkit.hh.

208  {
209  using namespace std;
210 
211  ostringstream os;
212 
213  os << value;
214 
215  return os.str();
216  }

◆ to_value()

template<class T >
T JLANG::to_value ( const std::string &  input)
inline

Convert string to value.

Parameters
inputstring
Returns
value

Definition at line 226 of file JLangToolkit.hh.

227  {
228  using namespace std;
229 
230  T value;
231 
232  istringstream(input) >> value;
233 
234  return value;
235  }

◆ to_upper()

std::string JLANG::to_upper ( const std::string &  value)
inline

Convert all character to upper case.

Parameters
valuevalue
Returns
string

Definition at line 244 of file JLangToolkit.hh.

245  {
246  using namespace std;
247 
248  string buffer(value);
249 
250  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
251  *i = toupper(*i);
252  }
253 
254  return buffer;
255  }

◆ to_lower()

std::string JLANG::to_lower ( const std::string &  value)
inline

Convert all character to lower case.

Parameters
valuevalue
Returns
string

Definition at line 264 of file JLangToolkit.hh.

265  {
266  using namespace std;
267 
268  string buffer(value);
269 
270  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
271  *i = tolower(*i);
272  }
273 
274  return buffer;
275  }

◆ get_number_of_tokens()

size_t JLANG::get_number_of_tokens ( const std::string &  buffer)
inline

Count number of white space separated tokens.

Parameters
bufferinput string
Returns
number of tokens

Definition at line 284 of file JLangToolkit.hh.

285  {
286  using namespace std;
287 
288  istringstream is(buffer);
289 
290  return distance(istream_iterator<string>(is), istream_iterator<string>());
291  }
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.

◆ is_single_quoted()

bool JLANG::is_single_quoted ( const std::string &  value)
inline

Check quotation.

Parameters
valuevalue
Returns
true if quoted; else false

Definition at line 300 of file JLangToolkit.hh.

301  {
302  return (value.size() > 1 && *value.begin() == '\'' && *value.rbegin() == '\'');
303  }

◆ is_double_quoted()

bool JLANG::is_double_quoted ( const std::string &  value)
inline

Check quotation.

Parameters
valuevalue
Returns
true if quoted; else false

Definition at line 312 of file JLangToolkit.hh.

313  {
314  return (value.size() > 1 && *value.begin() == '\"' && *value.rbegin() == '\"');
315  }

◆ single_quote()

std::string JLANG::single_quote ( const std::string &  value)
inline

Quote string.

Parameters
valuevalue
Returns
string

Definition at line 324 of file JLangToolkit.hh.

325  {
326  if (!is_single_quoted(value))
327  return "\'" + value + "\'";
328  else
329  return value;
330  }
bool is_single_quoted(const std::string &value)
Check quotation.

◆ double_quote()

std::string JLANG::double_quote ( const std::string &  value)
inline

Quote string.

Parameters
valuevalue
Returns
string

Definition at line 339 of file JLangToolkit.hh.

340  {
341  if (!is_double_quoted(value))
342  return "\"" + value + "\"";
343  else
344  return value;
345  }
bool is_double_quoted(const std::string &value)
Check quotation.

◆ getIndex()

int JLANG::getIndex ( )
inline

Get index for user I/O manipulation.

Returns
index

Definition at line 26 of file JManip.hh.

27  {
28  static const int index = std::ios_base::xalloc();
29 
30  return index;
31  }

◆ getInstance()

template<class T >
T& JLANG::getInstance ( const T &  object)
inline

Get static instance from temporary object.

Parameters
objectobject
Returns
reference to static object

Definition at line 75 of file JObject.hh.

76  {
77  static char buffer[sizeof(T)];
78 
79  new (buffer) T(object);
80 
81  T* p = reinterpret_cast<T*>(buffer);
82 
83  return *p;
84  }

◆ getUndefinedObjectID()

const JObjectID& JLANG::getUndefinedObjectID ( )
inline

Get undefined object identifier.

Returns
undefined object identifier

Definition at line 149 of file JObjectID.hh.

150  {
151  static JObjectID id;
152 
153  return id;
154  }
Auxiliary class for object identification.
Definition: JObjectID.hh:25

◆ getError() [1/2]

template<class JReader_t >
bool JLANG::getError ( const JReader_t &  reader)
inline

Get error status of reader.

Parameters
readerreader
Returns
true if error; else false

Definition at line 30 of file JObjectIO.hh.

31  {
32  return !reader;
33  }

◆ getError() [2/2]

bool JLANG::getError ( const std::ifstream &  reader)
inline

Get error status of reader.

Parameters
readerreader
Returns
true if error; else false

Definition at line 42 of file JObjectIO.hh.

43  {
44  return reader.bad() || (reader.fail() && !reader.eof());
45  }

◆ load() [1/3]

template<class JReader_t , class T >
void JLANG::load ( const std::string &  file_name,
T &  object 
)
inline

Load object from input file.

Parameters
file_namefile name
objectobject to be read

Definition at line 55 of file JObjectIO.hh.

56  {
57  load(file_name, object, JType<JReader_t>());
58  }
void load(const std::string &file_name, T &object)
Load object from input file.
Definition: JObjectIO.hh:149
Auxiliary class for a type holder.
Definition: JType.hh:19

◆ store() [1/3]

template<class JWriter_t , class T >
void JLANG::store ( const std::string &  file_name,
const T &  object 
)
inline

Store object to output file.

Parameters
file_namefile name
objectobject to be written

Definition at line 68 of file JObjectIO.hh.

69  {
70  store(file_name, object, JType<JWriter_t>());
71  }
void store(const std::string &file_name, const T &object)
Store object to output file.
Definition: JObjectIO.hh:162

◆ load() [2/3]

template<class JReader_t , class T >
void JLANG::load ( const std::string &  file_name,
T &  object,
JType< JReader_t >  type 
)
inline

Load object from input file.

This method makes use of the STD protocol for the given type reader, namely:

  JReader_t in(file_name);

  in >> object;

  in.close();

This method should be overloaded if the type reader requires a different protocol.

Parameters
file_namefile name
objectobject to be read
typereader type

Definition at line 92 of file JObjectIO.hh.

93  {
94  JReader_t in(file_name.c_str());
95 
96  if (!in) {
97  THROW(JFileOpenException, "Error opening file: " << file_name);
98  }
99 
100  in >> object;
101 
102  if (getError(in)) {
103  THROW(JFileReadException, "Error reading file: " << file_name);
104  }
105 
106  in.close();
107  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
Exception for opening of file.
Definition: JException.hh:360
Exception for reading of file.
Definition: JException.hh:396
bool getError(const std::ifstream &reader)
Get error status of reader.
Definition: JObjectIO.hh:42

◆ store() [2/3]

template<class JWriter_t , class T >
void JLANG::store ( const std::string &  file_name,
const T &  object,
JType< JWriter_t >  type 
)
inline

Store object to output file.

This method makes use of the STD protocol for the given type writer, namely:

  JWriter_t out(file_name);

  out << object;

  out.close();

This method should be overloaded if the type writer requires a different protocol.

Parameters
file_namefile name
objectobject to be written
typewriter type

Definition at line 128 of file JObjectIO.hh.

129  {
130  JWriter_t out(file_name.c_str());
131 
132  if (!out) {
133  THROW(JFileOpenException, "Error opening file: " << file_name);
134  }
135 
136  out << object;
137 
138  out.close();
139  }

◆ load() [3/3]

template<class T >
void JLANG::load ( const std::string &  file_name,
T &  object 
)
inline

Load object from input file.

Parameters
file_namefile name
objectobject to be read

Definition at line 149 of file JObjectIO.hh.

150  {
151  load(file_name, object, JType<std::ifstream>());
152  }

◆ store() [3/3]

template<class T >
void JLANG::store ( const std::string &  file_name,
const T &  object 
)
inline

Store object to output file.

Parameters
file_namefile name
objectobject to be written

Definition at line 162 of file JObjectIO.hh.

163  {
164  store(file_name, object, JType<std::ofstream>());
165  }

◆ getGITVersion()

const char * JLANG::getGITVersion ( )

Get GIT version.

Returns
GIT version

Definition at line 9 of file Jpp.cc.

10  {
11 #ifdef GIT_VERSION
12  return GIT_VERSION;
13 #else
14  return "?";
15 #endif
16  }

◆ getGITCommit()

const char * JLANG::getGITCommit ( )

Get GIT commit.

Returns
GIT commit

Definition at line 24 of file Jpp.cc.

25  {
26 #ifdef GIT_COMMIT
27  return GIT_COMMIT;
28 #else
29  return "?";
30 #endif
31  }

◆ getGITDate()

const char * JLANG::getGITDate ( )

Get GIT date.

Returns
GIT date

Definition at line 39 of file Jpp.cc.

40  {
41 #ifdef GIT_DATE
42  return GIT_DATE;
43 #else
44  return "?";
45 #endif
46  }

◆ getNamespace()

const char* JLANG::getNamespace ( )
inline

Get namespace.

Returns
namespace

Definition at line 37 of file Jpp.hh.

38  {
39 #define KM3NET 1
40 #define KM3NET_HIGHQE 2
41 #define ANTARES 3
42 
43 #if NAMESPACE == ANTARES
44  return "ANTARES";
45 #elif NAMESPACE == KM3NET
46  return "KM3NET";
47 #elif NAMESPACE == KM3NET_HIGHQE
48  return "KM3NET_HIGHQE";
49 #else
50  return "?";
51 #endif
52 
53 #undef KM3NET
54 #undef KM3NET_HIGHQE
55 #undef ANTARES
56  }

◆ getSource()

const char* JLANG::getSource ( )
inline

Get source.

Returns
source

Definition at line 89 of file Jpp.hh.

90  {
91 #ifdef SOURCE
92  return SOURCE;
93 #else
94  return "?";
95 #endif
96  }

◆ make_predicate() [1/6]

template<class T , class JResult_t >
JPredicate<JResult_t T::*, JComparison::eq> JLANG::make_predicate ( JResult_t T::*  member,
const JResult_t  value 
)

Helper method to create predicate for data member.

Parameters
memberpointer to data member
valuevalue
Returns
predicate

Definition at line 128 of file JPredicate.hh.

130  {
132  }
Template definition of auxiliary class to select objects.
Definition: JPredicate.hh:23

◆ make_predicate() [2/6]

template<class T , class JResult_t , class JComparator_t >
JPredicate<JResult_t T::*, JComparator_t> JLANG::make_predicate ( JResult_t T::*  member,
const JResult_t  value,
const JComparator_t &  comparator 
)

Helper method to create predicate for data member.

Parameters
memberpointer to data member
valuevalue
comparatorcomparator between values of data members
Returns
predicate

Definition at line 144 of file JPredicate.hh.

147  {
148  return JPredicate<JResult_t T::*, JComparator_t>(member, value, comparator);
149  }
Template specialisation of JPredicate for selection of objects via data member.
Definition: JPredicate.hh:30

◆ make_predicate() [3/6]

template<class T , class JResult_t >
JPredicate<JResult_t (T::*)() const, JComparison::eq> JLANG::make_predicate ( JResult_t(T::*)() const  function,
const JResult_t  value 
)

Helper method to create predicate for return values of member method.

Parameters
functionpointer to member method
valuevalue
Returns
predicate

Definition at line 160 of file JPredicate.hh.

162  {
164  }

◆ make_predicate() [4/6]

template<class T , class JResult_t >
JPredicate<const JResult_t& (T::*)() const, JComparison::eq> JLANG::make_predicate ( const JResult_t &(T::*)() const  function,
const JResult_t &  value 
)

Helper method to create predicate for return values of member method.

Parameters
functionpointer to member method
valuevalue
Returns
predicate

Definition at line 175 of file JPredicate.hh.

177  {
179  }

◆ make_predicate() [5/6]

template<class T , class JResult_t , class JComparator_t >
JPredicate<JResult_t (T::*)() const, JComparator_t> JLANG::make_predicate ( JResult_t(T::*)() const  function,
const JResult_t  value,
const JComparator_t &  comparator 
)

Helper method to create predicate for return values of member method.

Parameters
functionpointer to member method
valuevalue
comparatorcomparator between return values
Returns
predicate

Definition at line 191 of file JPredicate.hh.

194  {
195  return JPredicate<JResult_t (T::*)() const, JComparator_t>(function, value, comparator);
196  }
Template specialisation of JPredicate for selection of objects via member method.
Definition: JPredicate.hh:77

◆ make_predicate() [6/6]

template<class T , class JResult_t , class JComparator_t >
JPredicate<const JResult_t& (T::*)() const, JComparator_t> JLANG::make_predicate ( const JResult_t &(T::*)() const  function,
const JResult_t &  value,
const JComparator_t &  comparator 
)

Helper method to create predicate for return values of member method.

Parameters
functionpointer to member method
valuevalue
comparatorcomparator between return values
Returns
predicate

Definition at line 208 of file JPredicate.hh.

211  {
212  return JPredicate<const JResult_t& (T::*)() const, JComparator_t>(function, value, comparator);
213  }

◆ getObjectOutput() [1/6]

template<class JElement_t , class JAllocator_t >
JSTDObjectOutput<std::back_insert_iterator< std::vector<JElement_t, JAllocator_t> > > JLANG::getObjectOutput ( std::vector< JElement_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 73 of file JSTDObjectOutput.hh.

74  {
76  }

◆ getObjectOutput() [2/6]

template<class JElement_t , class JAllocator_t >
JSTDObjectOutput<std::back_insert_iterator< std::list<JElement_t, JAllocator_t> > > JLANG::getObjectOutput ( std::list< JElement_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 87 of file JSTDObjectOutput.hh.

88  {
90  }

◆ getObjectOutput() [3/6]

template<class JElement_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput<std::insert_iterator< std::set<JElement_t, JComparator_t, JAllocator_t> > > JLANG::getObjectOutput ( std::set< JElement_t, JComparator_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 101 of file JSTDObjectOutput.hh.

102  {
104  }

◆ getObjectOutput() [4/6]

template<class JElement_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput<std::insert_iterator< std::set<JElement_t, JComparator_t, JAllocator_t> > > JLANG::getObjectOutput ( std::multiset< JElement_t, JComparator_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 115 of file JSTDObjectOutput.hh.

116  {
118  }

◆ getObjectOutput() [5/6]

template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput<std::insert_iterator< std::map<JKey_t, JValue_t, JComparator_t, JAllocator_t> > > JLANG::getObjectOutput ( std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 129 of file JSTDObjectOutput.hh.

130  {
132  }

◆ getObjectOutput() [6/6]

template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
JSTDObjectOutput<std::insert_iterator< std::multimap<JKey_t, JValue_t, JComparator_t, JAllocator_t> > > JLANG::getObjectOutput ( std::multimap< JKey_t, JValue_t, JComparator_t, JAllocator_t > &  buffer)
inline

Helper method to create STD compatible object output.

Parameters
bufferoutput buffer
Returns
object output

Definition at line 143 of file JSTDObjectOutput.hh.

144  {
146  }

◆ getValue()

template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const JValue_t& JLANG::getValue ( const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &  map,
const JKey_t &  key,
const JValue_t &  value 
)
inline

Get value in map.

The value in the map at the given key is returned if present else the default value.

Parameters
mapmap
keykey
valuedefault value
Returns
value

Definition at line 27 of file JSTDToolkit.hh.

28  {
30 
31  if (i != map.end())
32  return i->second;
33  else
34  return value;
35  }
const char * map
Definition: elog.cc:87

◆ putEndMarker()

template<class JElement_t , class JAllocator_t >
void JLANG::putEndMarker ( std::vector< JElement_t, JAllocator_t > &  buffer,
const JElement_t &  value 
)
inline

Put end marker.

The end marker is put at the end but within the capacity of the given vector whilst its size is maintained.

Parameters
bufferbuffer
valueend marker

Definition at line 47 of file JSTDToolkit.hh.

48  {
49  if (buffer.capacity() <= buffer.size()) {
50  buffer.reserve(buffer.size() + 1);
51  }
52 
53  *(buffer.end()) = value;
54  }

◆ getline()

std::istream& JLANG::getline ( std::istream &  in,
JString object 
)
inline

Read string from input stream until end of line.

Parameters
ininput stream
objectstring
Returns
input stream

Definition at line 478 of file JString.hh.

479  {
480  using namespace std;
481 
482  istream::sentry sentry(in, true); // do not skip white spaces
483 
484  if (sentry) {
485 
486  const locale& loc = in.getloc();
487 
488  if (has_facet<JStringFacet>(loc)) {
489 
490  use_facet<JStringFacet>(loc).getline(in, object);
491 
492  } else {
493 
494  getline(in, static_cast<string&>(object));
495  }
496  }
497 
498  return in;
499  }
char * loc(char *orig)
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
Definition: JString.hh:478

◆ getType()

template<class T >
JType<T> JLANG::getType ( )
inline

Get type.

Returns
type

Definition at line 31 of file JType.hh.

32  {
33  return JType<T>();
34  }

◆ getDefaultName()

const char* JLANG::getDefaultName ( )
inline

Get default name of data type.

Returns
name

Definition at line 98 of file JTypeID.hh.

99  {
100  return "?";
101  }

◆ getDefaultVersion()

int JLANG::getDefaultVersion ( )
inline

Get default version of data type.

Returns
version

Definition at line 109 of file JTypeID.hh.

110  {
111  return -1;
112  }

◆ for_each() [1/4]

template<class JObject_t , class JHead_t , class JTail_t >
JObject_t& JLANG::for_each ( JObject_t &  object,
JType< JTypeList< JHead_t, JTail_t > >  typelist 
)

For each data type method.

The given object should provide for the function object operator

   template<class T>
   void object()(JType<T> type);
Parameters
objectobject
typelisttype list
Returns
object

Definition at line 415 of file JTypeList.hh.

416  {
417  for_each(object, JType<JHead_t>());
418  for_each(object, JType<JTail_t>());
419 
420  return object;
421  }
JObject_t & for_each(JObject_t &object)
For each data type method.
Definition: JTypeList.hh:473

◆ for_each() [2/4]

template<class JObject_t , class T >
JObject_t& JLANG::for_each ( JObject_t &  object,
JType< T >  type 
)

For each data type method.

The given object should provide for the function object operator

   template<class T>
   void object()(JType<T> type);
Parameters
objectobject
typetype
Returns
object

Definition at line 438 of file JTypeList.hh.

439  {
440  object(type);
441 
442  return object;
443  }

◆ for_each() [3/4]

template<class JObject_t >
JObject_t& JLANG::for_each ( JObject_t &  object,
JType< JNullType type 
)

Termination method of for each data type method.

Parameters
objectobject
typenull type
Returns
object

Definition at line 454 of file JTypeList.hh.

455  {
456  return object;
457  }

◆ for_each() [4/4]

template<class JTypelist_t , class JObject_t >
JObject_t& JLANG::for_each ( JObject_t &  object)

For each data type method.

The given object should provide for the function object operator

   template<class T>
   void object()(JType<T> type);
Parameters
objectobject
Returns
object

Definition at line 473 of file JTypeList.hh.

474  {
475  return for_each(object, JType<JTypelist_t>());
476  }

◆ operator>>() [2/2]

template<class T >
std::istream& JLANG::operator>> ( std::istream &  in,
JValueInput< T > &  object 
)
inline

Read JStreamInput from input stream.

Parameters
ininput stream
objectJStreamInput
Returns
input stream

Definition at line 187 of file JValue.hh.

188  {
189  using namespace std;
190 
191  istream::sentry sentry(in); // skips white spaces
192 
193  if (sentry) {
194 
195  const locale& loc = in.getloc();
196 
197  if (has_facet<JEquationFacet>(loc)) {
198 
199  string buffer;
200 
201  const JEquationFacet& facet = use_facet<JEquationFacet>(loc);
202 
203  facet.getline(in, buffer);
204 
205  istringstream is(buffer);
206 
207  is.imbue(locale(in.getloc(), facet.clone()));
208 
209  object.read(is);
210 
211  if (is.fail()) {
212  in.setstate(ios_base::badbit);
213  }
214 
215  } else {
216 
217  object.read(in);
218  }
219  }
220 
221  return in;
222  }
Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation).
std::istream & getline(std::istream &in, std::string &buffer) const
Read characters until next end of line.

◆ operator<<() [2/2]

template<class T >
std::ostream& JLANG::operator<< ( std::ostream &  out,
const JValueOutput< T > &  object 
)
inline

Write JStreamOutput to output stream.

Parameters
outoutput stream
objectJStreamOutput
Returns
output stream

Definition at line 233 of file JValue.hh.

234  {
235  return object.write(out);
236  }

◆ make_array() [1/4]

template<class JValue_t , size_t N>
const array_type<JValue_t>& JLANG::make_array ( const JValue_t(&)  array[N])
inline

Method to create array of values.

Parameters
arrayc-array of values
Returns
data

Definition at line 54 of file JVectorize.hh.

55  {
56  static array_type<JValue_t> buffer;
57 
58  buffer.resize(N);
59 
60  for (size_t i = 0; i != N; ++i) {
61  buffer[i] = array[i];
62  }
63 
64  return buffer;
65  }
Auxiliary data structure for return type of make methods.
Definition: JVectorize.hh:28

◆ make_array() [2/4]

template<class T >
const array_type<typename std::iterator_traits<T>::value_type>& JLANG::make_array ( __begin,
__end 
)
inline

Method to create array of values.

Parameters
__beginbegin of data
__endend of data
Returns
data

Definition at line 76 of file JVectorize.hh.

77  {
79 
80  buffer.assign(__begin, __end);
81 
82  return buffer;
83  }

◆ make_array() [3/4]

template<class T , class JType_t , class JValue_t >
const array_type<typename JClass<JValue_t>::value_type>& JLANG::make_array ( __begin,
__end,
JValue_t const JType_t::*  value 
)
inline

Method to create array of values of data member.

Parameters
__beginbegin of data
__endend of data
valuepointer to data member
Returns
data

Definition at line 95 of file JVectorize.hh.

96  {
98 
99  buffer.clear();
100 
101  for (T __p = __begin; __p != __end; ++__p) {
102  buffer.push_back(*__p.*value);
103  }
104 
105  return buffer;
106  }

◆ make_array() [4/4]

template<class T , class JType_t , class JValue_t >
const array_type<typename JClass<JValue_t>::value_type>& JLANG::make_array ( __begin,
__end,
JValue_t(JType_t::*)() const  function 
)
inline

Method to create array of return values of member method.

Parameters
__beginbegin of data
__endend of data
functionpointer to member method
Returns
data

Definition at line 118 of file JVectorize.hh.

119  {
121 
122  buffer.clear();
123 
124  for (T __p = __begin; __p != __end; ++__p) {
125  buffer.push_back((*__p.*function)());
126  }
127 
128  return buffer;
129  }

◆ get_keys()

template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const array_type<JKey_t>& JLANG::get_keys ( const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &  data)
inline

Method to create array of keys of map.

Parameters
datadata
Returns
data

Definition at line 139 of file JVectorize.hh.

140  {
142  }
const array_type< typename JClass< JValue_t >::value_type > & make_array(T __begin, T __end, JValue_t(JType_t::*function)() const)
Method to create array of return values of member method.
Definition: JVectorize.hh:118

◆ get_values()

template<class JKey_t , class JValue_t , class JComparator_t , class JAllocator_t >
const array_type<JValue_t>& JLANG::get_values ( const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &  data)
inline

Method to create array of values of map.

Parameters
datadata
Returns
data

Definition at line 152 of file JVectorize.hh.

◆ make_set()

template<class T , class JResult_t , class JComparator_t >
T JLANG::make_set ( __begin,
__end,
JResult_t std::iterator_traits< T >::value_type::*  value,
const JComparator_t &  comparator 
)

Method to exclude outliers from already sorted data.


Note that the part after the returned iterator will be overwritten.

Parameters
__beginbegin of data
__endend of data
valuepointer to data member,
comparatorcomparison method
Returns
end of sorted data

Definition at line 169 of file JVectorize.hh.

174  {
175  T p2 = __begin;
176  T p0 = p2++;
177  T p1 = p2++;
178 
179  if (p0 == __end) { return p0; }
180  if (p1 == __end) { return p1; }
181 
182  if (p2 == __end) {
183  if (comparator((*p0).*value, (*p1).*value))
184  return p2;
185  else
186  return p0;
187  }
188 
189  for ( ; p2 != __end; ++p2) {
190 
191  if (comparator((*p0).*value, (*p1).*value)) {
192  if (comparator((*p1).*value, (*p2).*value)) {
193  *(++p0) = *p1;
194  *(++p1) = *p2;
195  } else if (comparator((*p0).*value, (*p2).*value)) {
196  *p1 = *p2;
197  }
198  } else {
199  if (comparator((*p2).*value, (*p0).*value)) {
200  *p0 = *p1;
201  }
202  *p1 = *p2;
203  }
204  }
205 
206  return ++p1;
207  }
TPaveText * p1

◆ getMaximum()

template<class T >
T JLANG::getMaximum ( const array_type< T > &  buffer,
const T  value 
)
inline

Get maximum of values.

Parameters
bufferinput values
valuestart value
Returns
maximum value

Definition at line 218 of file JVectorize.hh.

219  {
220  T max = value;
221 
222  for (typename array_type<T>::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
223  if (*i > max) {
224  max = *i;
225  }
226  }
227 
228  return max;
229  }

◆ getMinimum()

template<class T >
T JLANG::getMinimum ( const array_type< T > &  buffer,
const T  value 
)
inline

Get minimum of values.

Parameters
bufferinput values
valuestart value
Returns
minimum value

Definition at line 240 of file JVectorize.hh.

241  {
242  T min = value;
243 
244  for (typename array_type<T>::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
245  if (*i < min) {
246  min = *i;
247  }
248  }
249 
250  return min;
251  }

◆ getCount() [1/2]

template<class T , class JCompare_t >
size_t JLANG::getCount ( const array_type< T > &  buffer,
const JCompare_t &  compare 
)

Count number of unique values.

Parameters
comparecompare
Returns
number of unique values

Definition at line 261 of file JVectorize.hh.

262  {
263  size_t n = 0;
264 
265  for (typename array_type<T>::const_iterator p = buffer.begin(); p != buffer.end(); ++p) {
266 
267  typename array_type<T>::const_iterator q = p;
268 
269  while (++q != buffer.end() && !compare(*p,*q)) {}
270 
271  if (q == buffer.end()) {
272  n += 1;
273  }
274  }
275 
276  return n;
277  }
const int n
Definition: JPolint.hh:786

◆ getCount() [2/2]

template<class T >
size_t JLANG::getCount ( const array_type< T > &  buffer)

Count number of unique values.

Returns
number of unique values

Definition at line 286 of file JVectorize.hh.

287  {
288  return getCount(buffer, std::equal_to<T>());
289  }
size_t getCount(const array_type< T > &buffer)
Count number of unique values.
Definition: JVectorize.hh:286

Variable Documentation

◆ JTrue_t

const JTRUE JLANG::JTrue_t
static

True value.

Definition at line 269 of file JBool.hh.

◆ JFalse_t

const JFALSE JLANG::JFalse_t
static

False value.

Definition at line 270 of file JBool.hh.

◆ color_facets

const JColorFacetMap_t JLANG::color_facets
static

Color facets.

Definition at line 332 of file JColorFacet.hh.

◆ end_of_line

const JLANG::JEndOfLine JLANG::end_of_line
static

Print end of line.

Definition at line 577 of file JEquationFacet.hh.

◆ null

JNullStream JLANG::null
static

Null I/O stream.

Definition at line 51 of file JNullStream.hh.

◆ getElement

const JGroup<double>& JLANG::getElement = JGroup<double>::getInstance()
static

Definition at line 21 of file JGroup.cc.