Public Types | Public Attributes
ash::MortonXY< U > Union Template Reference

A data type for dealing with an interleaved 2D coordinate. More...

#include <ash/morton.h>

List of all members.

Public Types

enum  { D = DIM_2D }
typedef U value_type
 The basic unsigned type underneath.
typedef impl::morton_masks
< value_type, DIM_2D
mask
 The mask set associated with this type.
typedef PCoordXY< value_typepcoord_type
 The pcoord type this converts to.
typedef impl::_Morton_itr
< _Type, value_type, mask::X > 
x_type
 The x-coordinate's interface type.
typedef impl::_Morton_itr
< _Type, value_type, mask::Y > 
y_type
 The y-coordinate's interface type.

Public Member Functions

Constructors/Destructors

We use the default destructor.

 MortonXY ()
 Default constructor.
 MortonXY (MortonXY const &m)
 Copy constructor.
template<typename V >
 MortonXY (MortonXY< V > const &m)
 Copy constructor for other sizes.
 MortonXY (value_type val)
 Constructor from the underlying value_type.
 MortonXY (pcoord_type const &p)
 PCoordXY conversion constructor.
Cast Operators
 operator value_type & ()
 operator const value_type & () const

Public Attributes

x_type x
 The x-coordinate interface.
y_type y
 The y-coordinate interface.

Detailed Description

template<typename U = size_t>
union ash::MortonXY< U >

A data type for dealing with an interleaved 2D coordinate.

Concepts:
ash::morton
Template Parameters:
U[uint8|uint16|uint32|uint64] An unsigned type. Also defined as MortonXY::value_type.

The size of U is equal to the total size of the object.

See also:
PCoordXY
Examples:
omp_example/main.cpp.

Member Typedef Documentation

template<typename U = size_t>
typedef impl::morton_masks<value_type, DIM_2D> ash::MortonXY< U >::mask

The mask set associated with this type.

template<typename U = size_t>
typedef PCoordXY<value_type> ash::MortonXY< U >::pcoord_type

The pcoord type this converts to.

template<typename U = size_t>
typedef U ash::MortonXY< U >::value_type

The basic unsigned type underneath.

template<typename U = size_t>
typedef impl::_Morton_itr<_Type, value_type, mask::X> ash::MortonXY< U >::x_type

The x-coordinate's interface type.

template<typename U = size_t>
typedef impl::_Morton_itr<_Type, value_type, mask::Y> ash::MortonXY< U >::y_type

The y-coordinate's interface type.


Constructor & Destructor Documentation

template<typename U = size_t>
ash::MortonXY< U >::MortonXY ( ) [inline]

Default constructor.

template<typename U = size_t>
ash::MortonXY< U >::MortonXY ( MortonXY< U > const &  m) [inline]

Copy constructor.

Parameters:
mThe MortonXY to copy.
template<typename U = size_t>
template<typename V >
ash::MortonXY< U >::MortonXY ( MortonXY< V > const &  m) [inline, explicit]

Copy constructor for other sizes.

Parameters:
mThe MortonXY<> to copy.
template<typename U = size_t>
ash::MortonXY< U >::MortonXY ( value_type  val) [inline]

Constructor from the underlying value_type.

template<typename U = size_t>
ash::MortonXY< U >::MortonXY ( pcoord_type const &  p) [inline]

PCoordXY conversion constructor.

Parameters:
pThe PCoordXY to convert.
Note:
Just interleaves the bits.

Member Data Documentation

template<typename U = size_t>
x_type ash::MortonXY< U >::x

The x-coordinate interface.

template<typename U = size_t>
y_type ash::MortonXY< U >::y

The y-coordinate interface.


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


© 2012   AshTL
Licensed under  AGPLv3
Hosted by  Get AshTL at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated by  doxygen 1.7.4