2 #ifndef AFW_TABLE_DETAIL_Access_h_INCLUDED
3 #define AFW_TABLE_DETAIL_Access_h_INCLUDED
12 namespace lsst {
namespace afw {
namespace table {
35 if (!
static_cast<Key<T> const &
>(kb).isValid()) {
37 pex::exceptions::LogicError,
38 (
boost::format(
"Cannot extract subfield key from invalid key of type '%s' "
39 "(most often this is caused by failing to setup centroid or shape slots)")
53 pex::exceptions::LogicError,
54 (
boost::format(
"Cannot extract subfield key from invalid key of type '%s' ")
84 schema.
_impl->_recordSize += bytes;
91 #endif // !AFW_TABLE_DETAIL_Access_h_INCLUDED
static Key< Array< T > > extractRange(KeyBase< Array< T > > const &kb, int begin, int end)
Defines the fields and offsets for a table.
static void padSchema(Schema &schema, int bytes)
Definition of Manager, which manages the ownership of array data.
static Key< T > makeKey(int offset)
static Key< T > makeKey(Field< T > const &field, int offset)
T Element
the type of subfields (the same as the type itself for scalars)
static Key< typename Key< T >::Element > extractElement(KeyBase< T > const &kb, int n)
A description of a field in a table.
Tag types used to declare specialized field types.
boost::shared_ptr< Impl > _impl
#define LSST_EXCEPT(type,...)
A base class for Key that allows subfield keys to be extracted for some field types.
A class used as a handle to a particular field in a table.
Key specialization for Flag.
void _edit()
Copy on write; should be called by all mutators (except for alias mutators).
static Key< Flag > makeKey(int offset, int bit)