3#include "boost/preprocessor/seq/for_each.hpp"
4#include "boost/preprocessor/tuple/to_seq.hpp"
23 typename Key<Array<U>>::ConstReference array = record[*self];
24 std::copy(array.begin(), array.end(), result.begin());
37 if (self->isVariableLength()) {
39 "Cannot get Keys to elements of variable-length arrays.");
41 if (i >= self->getSize()) {
50 if (self->isVariableLength()) {
52 "Cannot get Keys to slices of variable-length arrays.");
54 if (begin > self->getSize()) {
57 if (
end > self->getSize()) {
65#define INSTANTIATE_KEY(r, data, elem) template class KeyBase<elem>;
#define LSST_EXCEPT(type,...)
#define INSTANTIATE_KEY(r, data, elem)
Base class for all records.
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.
static Key< typename Key< T >::Element > extractElement(KeyBase< T > const &kb, std::size_t n)
static Key< Array< T > > extractRange(KeyBase< Array< T > > const &kb, std::size_t begin, std::size_t end)
BOOST_PP_SEQ_FOR_EACH(INSTANTIATE_COLUMNVIEW_SCALAR, _, BOOST_PP_TUPLE_TO_SEQ(AFW_TABLE_SCALAR_FIELD_TYPE_N, AFW_TABLE_SCALAR_FIELD_TYPE_TUPLE)) BOOST_PP_SEQ_FOR_EACH(INSTANTIATE_COLUMNVIEW_ARRAY
#define AFW_TABLE_FIELD_TYPE_N
#define AFW_TABLE_FIELD_TYPE_TUPLE