LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Classes | Public Types | Public Member Functions | Private Attributes | Friends | List of all members
lsst::afw::table::detail::SchemaMapperImpl Class Reference

A private implementation class to hide the messy details of SchemaMapper. More...

#include <SchemaMapperImpl.h>

Classes

struct  MakeKeyPair
 Boost.MPL metafunction that returns a std::pair< Key<T>, Key<T> > given a T. More...
 
struct  VisitorWrapper
 A functor-wrapper used in the implementation of SchemaMapper::forEach. More...
 

Public Types

typedef boost::mpl::transform
< FieldTypes, MakeKeyPair >
::type 
KeyPairTypes
 An MPL sequence of all the allowed pair templates. More...
 
typedef
boost::make_variant_over
< KeyPairTypes >::type 
KeyPairVariant
 A Boost.Variant type that can hold any one of the allowed pair types. More...
 
typedef std::vector
< KeyPairVariant
KeyPairMap
 A std::vector whose elements can be any of the allowed pair types. More...
 

Public Member Functions

 SchemaMapperImpl (Schema const &input, Schema const &output)
 Constructor from the given input and output schemas. More...
 

Private Attributes

Schema _input
 
Schema _output
 
KeyPairMap _map
 

Friends

class table::SchemaMapper
 
class detail::Access
 

Detailed Description

A private implementation class to hide the messy details of SchemaMapper.

This class is very similar in spirit to SchemaImpl, from the reason it's not a real pimpl (forEach) to Citizen; look there for more information (though SchemaMapper is not copy-on-write).

Definition at line 30 of file SchemaMapperImpl.h.

Member Typedef Documentation

A std::vector whose elements can be any of the allowed pair types.

Definition at line 48 of file SchemaMapperImpl.h.

An MPL sequence of all the allowed pair templates.

Definition at line 44 of file SchemaMapperImpl.h.

A Boost.Variant type that can hold any one of the allowed pair types.

Definition at line 46 of file SchemaMapperImpl.h.

Constructor & Destructor Documentation

lsst::afw::table::detail::SchemaMapperImpl::SchemaMapperImpl ( Schema const &  input,
Schema const &  output 
)
inlineexplicit

Constructor from the given input and output schemas.

Definition at line 51 of file SchemaMapperImpl.h.

Friends And Related Function Documentation

friend class detail::Access
friend

Definition at line 90 of file SchemaMapperImpl.h.

friend class table::SchemaMapper
friend

Definition at line 89 of file SchemaMapperImpl.h.

Member Data Documentation

Schema lsst::afw::table::detail::SchemaMapperImpl::_input
private

Definition at line 92 of file SchemaMapperImpl.h.

KeyPairMap lsst::afw::table::detail::SchemaMapperImpl::_map
private

Definition at line 94 of file SchemaMapperImpl.h.

Schema lsst::afw::table::detail::SchemaMapperImpl::_output
private

Definition at line 93 of file SchemaMapperImpl.h.


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