EleFits  5.3.0
A modern C++ API on top of CFITSIO
Loading...
Searching...
No Matches
Classes | Static Public Attributes | Static Public Member Functions | Public Member Functions | List of all members

#include <HduCategory.h>

Detailed Description

An HDU categorization for filtering and iteration.

A category is defined as a sequence of trits (trinary bits), which can take one of two specified values, or be unconstrained. For example, the type of an HDU can be image, binary table or unconstrained.

Predefined categories are provided as static members, e.g. HduCategory::Primary or HduCategory::RawImage. An HduCategory should not be created with a constructor, but rather by combining those categories with (trinary) bitwise operators. For example, an integer-valued, non-empty image extension can be created using one of the following formulae:

HduCategory intDataImageExt = HduCategory::IntImage & HduCategory::DataHdu & HduCategory::Ext;
An HDU categorization for filtering and iteration.
Definition: HduCategory.h:42
static const HduCategory IntImage
Integer-valued image HDU.
Definition: HduCategory.h:226
static const HduCategory Ext
Extension.
Definition: HduCategory.h:230
static const HduCategory ImageExt
Image extension.
Definition: HduCategory.h:242
static const HduCategory FloatPrimary
Real-valued Primary HDU.
Definition: HduCategory.h:241
static const HduCategory DataExt
Extension with data.
Definition: HduCategory.h:244

Method isInstance() is provided to test whether a category validates a model. Yet, in general, Hdu::matches() is an adequate shortcut.

More complex, multi-category filters can be created as HduFilter objects.

Classes

struct  IncompatibleTrits
 The exception thrown when trying to combine incompatible trits. More...
 

Static Public Attributes

static const HduCategory Any
 Any HDU.
 
static const HduCategory Bintable
 Binary table HDU (necessarily an extension)
 
static const HduCategory CompressedImageExt
 Compressed image HDU (effectively written as a binary table extension)
 
static const HduCategory Created
 HDU was created.
 
static const HduCategory Data
 HDU with data.
 
static const HduCategory DataExt
 Extension with data.
 
static const HduCategory DataPrimary
 Primary HDU with data.
 
static const HduCategory Edited
 Metadata or data was written.
 
static const HduCategory Existed
 Pre-existing HDU was opened.
 
static const HduCategory Ext
 Extension.
 
static const HduCategory FloatImage
 Real-valued image HDU.
 
static const HduCategory FloatImageExt
 Image extension without data.
 
static const HduCategory FloatPrimary
 Real-valued Primary HDU.
 
static const HduCategory Image
 Image HDU.
 
static const HduCategory ImageExt
 Image extension.
 
static const HduCategory IntImage
 Integer-valued image HDU.
 
static const HduCategory IntImageExt
 Image extension with data.
 
static const HduCategory IntPrimary
 Integer-valued Primary HDU.
 
static const HduCategory Metadata
 HDU without data.
 
static const HduCategory MetadataExt
 Extension without data.
 
static const HduCategory MetadataPrimary
 Primary HDU without data.
 
static const HduCategory OnlyRead
 Metadata or data was only read.
 
static const HduCategory Primary
 Primary image HDU.
 
static const HduCategory RawImage
 Raw (non-compressed) image HDU.
 
static const HduCategory Touched
 HDU was at least read.
 
static const HduCategory Untouched
 HDU was not even read.
 

Static Public Member Functions

template<typename T >
static HduCategory forClass ()
 The HDU filter which corresponds to a given HDU handler. More...
 

Public Member Functions

bool isInstance (const HduCategory &model) const
 Check whether the category validates (i.e. is more specific than) a given model.
 
bool operator!= (const HduCategory &rhs) const
 Non-equality operator.
 
HduCategory operator& (const HduCategory &rhs) const
 Restrict category (constrain flags).
 
HduCategoryoperator&= (const HduCategory &rhs)
 Restrict category (constrain flags).
 
HduCategory operator<< (const HduCategory &rhs) const
 Overwrite category (copy constrained flags).
 
HduCategoryoperator<<= (const HduCategory &rhs)
 Overwrite category (copy constrained flags).
 
bool operator== (const HduCategory &rhs) const
 Equality operator.
 
HduCategory operator| (const HduCategory &rhs) const
 Extend category (release flags).
 
HduCategoryoperator|= (const HduCategory &rhs)
 Extend category (release flags).
 
HduCategory operator~ () const
 Toggle flags.
 
HduCategory type () const
 Get the HDU type: either Image or Bintable or Any if unknown. More...
 

The documentation for this class was generated from the following file: