ldas-tools-framecpp  2.7.0
Classes | Namespaces | Macros | Enumerations | Functions
FrameSpec.hh File Reference
#include <iostream>
#include <memory>
#include <sstream>
#include <stdexcept>
#include <boost/pointer_cast.hpp>
#include <boost/shared_ptr.hpp>
#include "ldastoolsal/gpstime.hh"
#include "ldastoolsal/unordered_map.hh"
#include "ldastoolsal/types.hh"
Include dependency graph for FrameSpec.hh:

Classes

class  FrameCPP::Common::FrameSpec
 Description of frame specification information. The information contained here allows for information needed to describe a specific frame specification implementation. More...
 
class  FrameCPP::Common::FrameSpec::ObjectInterface
 Interface to Objects. More...
 
class  FrameCPP::Common::FrameSpec::Object
 Base for all frame objects. More...
 
class  FrameCPP::Common::FrameSpec::ObjectWithChecksum< ObjectType, ChecksumType >
 Support checksumed objects. More...
 
class  FrameCPP::Common::FrameSpec::Info
 
class  FrameCPP::Unimplemented
 Unimplemeted exception. More...
 

Namespaces

 FrameCPP
 I/O library for implementing the LIGO/Virgo frame specification.
 
 FrameCPP::Common
 Routines upon which the version specific layers are built.
 

Macros

#define FRAME_SPEC_MIN   3
 Minimal version of frame specification which is supported. More...
 
#define FRAME_SPEC_CURRENT   8
 Default version of frame specification which is supported. More...
 
#define FRAME_SPEC_MAX   8
 Maximum version of frame specification which is supported. More...
 
#define FRAMECPP_VERSION   "2.7.0"
 Version number as an ascii string. More...
 
#define FRAMECPP_VERSION_NUMBER
 Version number as a numeric value. More...
 
#define FRAMECPP_BUILD_DATE   "2020-10-23T00:00:00"
 Date of the build. More...
 

Enumerations

enum  FrameCPP::CODE { FrameCPP::BAD_FRAME_FILE , FrameCPP::BAD_FRAME_FILE }
 LdasException error codes for libframecpp. More...
 
enum  FrameCPP::byte_order_type {
  FrameCPP::BYTE_ORDER_BIG_ENDIAN , FrameCPP::BYTE_ORDER_LITTLE_ENDIAN , FrameCPP::BYTE_ORDER_HOST = BYTE_ORDER_LITTLE_ENDIAN , FrameCPP::BYTE_ORDER_BIG_ENDIAN ,
  FrameCPP::BYTE_ORDER_LITTLE_ENDIAN , FrameCPP::BYTE_ORDER_HOST = BYTE_ORDER_LITTLE_ENDIAN
}
 enumerated type describing the byte ordering More...
 

Functions

template<typename T >
streamsize_type FrameCPP::Common::Bytes (const T &Data)
 Return the number of bytes for given type. More...
 
template<typename T >
void FrameCPP::Common::VerifyObject (const T &Obj, FrameSpec::Info::verify_type &Verifier, IFrameStream &Stream)
 Verify an object. More...
 
FrameSpec::ObjectInterface::promote_ret_type FrameCPP::Common::PromoteObject (FrameSpec::ObjectInterface::frame_spec_version_type Target, FrameSpec::ObjectInterface::frame_spec_version_type Source, FrameSpec::ObjectInterface::promote_arg_type Obj)
 
template<typename T >
bool FrameCPP::compare (const T &LHS, const Common::FrameSpec::Object &Obj)
 Compare two frame objects. More...
 
template<typename T >
bool FrameCPP::IsOfType (Common::FrameSpec::Object *Obj)
 
const version_type FrameCPP::FrameSpecMinimum (FRAME_SPEC_MIN)
 The earliest supported frame specification. More...
 
const version_type FrameCPP::FrameSpecCurrent (FRAME_SPEC_CURRENT)
 Currentently supported frame specification. More...
 
const version_type FrameCPP::FrameSpecMaximum (FRAME_SPEC_MAX)
 Maximum supported frame spec. More...
 
const int FrameCPP::HostByteOrder (BYTE_ORDER_HOST)
 Byte ordering of host. More...
 
std::string FrameCPP::GetVersion ()
 Get the version of frameCPP. More...
 

Macro Definition Documentation

◆ FRAME_SPEC_CURRENT

#define FRAME_SPEC_CURRENT   8

Default version of frame specification which is supported.

This define can be used to test the default frame specification that is supported by the library.

◆ FRAME_SPEC_MAX

#define FRAME_SPEC_MAX   8

Maximum version of frame specification which is supported.

This define can be used to test the maximum frame specification that is supported by the library.

◆ FRAME_SPEC_MIN

#define FRAME_SPEC_MIN   3

Minimal version of frame specification which is supported.

This define can be used to test the minimal frame specification that is supported by the library.

◆ FRAMECPP_BUILD_DATE

#define FRAMECPP_BUILD_DATE   "2020-10-23T00:00:00"

Date of the build.

This string contains the date when the library was built. A common use of this information is in FrHistory records.

◆ FRAMECPP_VERSION

#define FRAMECPP_VERSION   "2.7.0"

Version number as an ascii string.

◆ FRAMECPP_VERSION_NUMBER

#define FRAMECPP_VERSION_NUMBER

Version number as a numeric value.

This is a numeric representation of the package version of the form: [M]Mmmppp where:

  • M = Major digit
  • m = minor digit
  • p = patch digit