10#ifndef ADOBE_POLY_PLACEABLE_HPP
11#define ADOBE_POLY_PLACEABLE_HPP
13#include <boost/ref.hpp>
150 :
public poly_base<poly_placeable_twopass_interface, poly_placeable_twopass_instance> {
153 template <
typename T>
poly<foo> will be a runtime polymorphic value type wrapper modelling a concept represented by foo
poly< placeable_twopass > poly_placeable_twopass_t
convenience typedef.
poly< placeable > poly_placeable_t
convenience typedef.
Concept map and constraints checking for the Placeable concept.
static void place(T &t, const place_data_t &place_data)
static void measure(T &t, extents_t &result)
Concept map and constraints checking for the PlaceableTwoPass concept.
static void measure_vertical(T &t, extents_t &calculated_horizontal, const place_data_t &placed_horizontal)
An intrinsic geometry class for objects with a graphical representation.
Authors of poly concept representatives must derive their instance class from this....
Layout data interface from the engine to the client.
placeable_twopass(placeable_twopass &&x)
placeable_twopass(const T &x)
void measure_vertical(extents_t &calculated_horizontal, const place_data_t &placed_horizontal)
poly_base< poly_placeable_twopass_interface, poly_placeable_twopass_instance > base_t
void measure(extents_t &result)
void place(const place_data_t &place_data)
void measure(extents_t &result)
void place(const place_data_t &place_data)
poly_base< poly_placeable_interface, poly_placeable_instance > base_t
interface_type & interface_ref()
Abstract interface providing signatures needed to implement "handle" objects modeling a Value (Copyab...
BOOST_CLASS_REQUIRE(T, adobe, PlaceableConcept)
poly_placeable_instance(const T &x)
poly_placeable_instance(poly_placeable_instance &&x)
optimized_storage_type< T, poly_placeable_interface >::type base_t
void measure(extents_t &result)
void place(const place_data_t &place_data)
Pure virtual interface for the poly<placeable> modeling PlaceableConcept.
virtual void place(const place_data_t &place_data)=0
virtual void measure(extents_t &result)=0
BOOST_CLASS_REQUIRE(T, adobe, PlaceableTwoPassConcept)
optimized_storage_type< T, poly_placeable_twopass_interface >::type base_t
void measure_vertical(extents_t &calculated_horizontal, const place_data_t &placed_horizontal)
void measure(extents_t &result)
void place(const place_data_t &place_data)
poly_placeable_twopass_instance(poly_placeable_twopass_instance &&x)
poly_placeable_twopass_instance(const T &x)
Pure virtual interface for poly<placeable_twopass> modeling PlaceableTwoPassConcept.
virtual void measure_vertical(extents_t &in_out_attrs, const place_data_t &placed_horizontal)=0