38 #ifndef OME_BIOFORMATS_PIXELBUFFER_H 
   39 #define OME_BIOFORMATS_PIXELBUFFER_H 
   48 #define BOOST_DISABLE_ASSERTS 1 
   49 #include <boost/multi_array.hpp> 
   51 #include <ome/bioformats/PixelProperties.h> 
   59 #include <ome/xml/model/enums/DimensionOrder.h> 
  114       typedef boost::multi_array_types::index 
index;
 
  117       typedef ome::compat::array<boost::multi_array_types::index,
 
  124       typedef boost::detail::multi_array::extent_gen<dimensions> 
range_type;
 
  136         pixeltype(pixeltype),
 
  137         endiantype(endiantype)
 
  179       static storage_order_type
 
  191       static storage_order_type
 
  253       typedef boost::multi_array<value_type, dimensions> 
array_type;
 
  263         multiarray(
ome::compat::shared_ptr<array_type>(new array_type(
boost::extents[1][1][1][1][1][1][1][1][1],
 
  278       template<
class ExtentList>
 
  285         multiarray(
ome::compat::shared_ptr<array_type>(new array_type(extents, storage)))
 
  302       template<
class ExtentList>
 
  305                   const ExtentList&                    extents,
 
  310         multiarray(
ome::compat::shared_ptr<array_ref_type>(new array_ref_type(pixeldata, extents, storage)))
 
  330         multiarray(
ome::compat::shared_ptr<array_type>(new array_type(range, storage)))
 
  354         multiarray(
ome::compat::shared_ptr<array_ref_type>(new array_ref_type(pixeldata, range, storage)))
 
  390       const array_ref_type&
 
  404         return array().data();
 
  418         return array().data();
 
  434         bool is_valid = 
true;
 
  440         catch (
const std::runtime_error&)
 
  458         return (boost::get<ome::compat::shared_ptr<array_type> >(&
multiarray) != 0);
 
  467         return array().num_elements();
 
  476         return array().num_dimensions();
 
  489         return array().shape();
 
  499       const boost::multi_array_types::index *
 
  502         return array().strides();
 
  513       const boost::multi_array_types::index *
 
  516         return array().index_bases();
 
  532         return array().origin();
 
  543         return array().storage_order();
 
  601         return array() == rhs;
 
  625         return array() != rhs;
 
  649         return array() < rhs;
 
  673         return array() <= rhs;
 
  697         return array() > rhs;
 
  721         return array() >= rhs;
 
  732       template <
typename InputIterator>
 
  737         array().assign(begin, end);
 
  753         return array()(indices);
 
  769         return array()(indices);
 
  782       template<
class charT, 
class traits>
 
  784       read(std::basic_istream<charT,traits>& stream)
 
  786         stream.read(reinterpret_cast<char *>(
data()),
 
  787                     static_cast<std::streamsize>(
num_elements() * 
sizeof(value_type)));
 
  800       template<
class charT, 
class traits>
 
  802       write(std::basic_ostream<charT,traits>& stream)
 const 
  804         stream.write(reinterpret_cast<const char *>(
data()),
 
  805                      static_cast<std::streamsize>(
num_elements() * 
sizeof(value_type)));
 
  824       boost::variant<ome::compat::shared_ptr<array_type>,
 
  841         template <
typename U>
 
  846             throw std::runtime_error(
"Null array type");
 
  861         template <
typename U>
 
  866             throw std::runtime_error(
"Null array type");
 
  874     typename PixelBuffer<T>::array_ref_type&
 
  878       return boost::apply_visitor(v, multiarray);
 
  886       return boost::apply_visitor(v, multiarray);
 
  902   template<
typename T, 
class charT, 
class traits>
 
  903   inline std::basic_istream<charT,traits>&
 
  904   operator>> (std::basic_istream<charT,traits>& is,
 
  918   template<
typename T, 
class charT, 
class traits>
 
  919   inline std::basic_ostream<charT,traits>&
 
  920   operator<< (std::basic_ostream<charT,traits>& os,
 
  921               const ::ome::bioformats::PixelBuffer<T>& buf)
 
  929 #endif // OME_BIOFORMATS_PIXELBUFFER_H 
uint8 
Definition: PixelType.h:82
Memory type substitution. 
DimensionOrder enumeration. 
Definition: DimensionOrder.h:69
Variant type limit workaround. 
Open Microscopy Environment C++ implementation. 
Definition: CoreMetadata.cpp:40
PixelType enumeration. 
Definition: PixelType.h:69
Xerces-C modern C++ wrapper. 
Definition: Base.h:53