Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class cartesian_topology

boost::mpi::cartesian_topology — Describe the topology of a cartesian grid.

Synopsis

// In header: <boost/mpi/cartesian_communicator.hpp>


class cartesian_topology : private  {
public:
  // construct/copy/destruct
  () = ;
  (cartesian_topology ) = ;
  (cartesian_topology &&);
  ();
  (cartesian_dimension > );
  template<typename InitArr> ();
  (cartesian_dimension >);
  template< NDIM> (cartesian_dimension(&));
  template<typename DimRg, typename PerRg> 
    (, );
  template<typename DimIter, typename PerIter> 
    (, , );
  cartesian_topology & (cartesian_topology ) = ;
  cartesian_topology & (cartesian_topology &&);
  ~();

  // public member functions
  cartesian_dimension > & ();
  cartesian_dimension >  () ;
   (, ) ;
};

Description

Behave mostly like a sequence of cartesian_dimension with the notable exception that its size is fixed. This is a lightweight object, so that any constructor that could be considered missing could be replaced with a function (move constructor provided when supported).

cartesian_topology public construct/copy/destruct

  1. () = ;
  2. (cartesian_topology ) = ;
  3. (cartesian_topology && other);
  4. ( ndim);
    Create a N dimension space. Each dimension is initialized as non periodic of size 0.
  5. (cartesian_dimension >  dims);
    Use the provided dimensions specification as initial values.
  6. template<typename InitArr> ( dims);
    Use dimensions specification provided in the sequence container as initial values. #param dims must be a sequence container.
  7. (cartesian_dimension > dims);
    Use dimensions specification provided in the initialization list as initial values. #param dims can be of the form { dim_1, false}, .... {dim_n, true}.
  8. template< NDIM> (cartesian_dimension(&) dims);
    Use dimensions specification provided in the array. #param dims can be of the form { dim_1, false}, .... {dim_n, true}.
  9. template<typename DimRg, typename PerRg> 
      ( dim_rg,  period_rg);
    Use dimensions specification provided in the input ranges The ranges do not need to be the same size. If the sizes are different, the missing values will be complete with zeros of the dim and assumed non periodic.

    Parameters:

    dim_rg

    the dimensions, values must convert to integers.

    period_rg

    the periodicities, values must convert to booleans. #param dims can be of the form { dim_1, false}, .... {dim_n, true}

  10. template<typename DimIter, typename PerIter> 
      ( dit,  pit,  n);
    Iterator based initializer. Will use the first n iterated values. Both iterators can be single pass.

    Parameters:

    dit

    dimension iterator, value must convert to integer type.

    pit

    periodicity iterator, value must convert to booleans..

  11. cartesian_topology & (cartesian_topology ) = ;
  12. cartesian_topology & (cartesian_topology && other);
  13. ~();

cartesian_topology public member functions

  1. cartesian_dimension > & ();

    Export as an stl sequence.

  2. cartesian_dimension >  () ;

    Export as an stl sequence.

  3.  ( dims,  periodics) ;

    Split the topology in two sequences of sizes and periodicities.


PrevUpHomeNext