bind_dense.hpp

Go to the documentation of this file.
00001 /****
00002 ***** Copyright 2010 Intel Corporation All Rights Reserved.
00003 *****
00004 ***** The source code, information and material contained herein are owned by Intel Corporation or its suppliers  *****
00005 ***** or licensors, and title to such Material remains with Intel Corporation or its suppliers or licensors.      *****
00006 ***** The Material contains proprietary information of Intel or its suppliers and licensors. The Material is      *****
00007 ***** protected by worldwide copyright laws and treaty provisions. No part of the Material may be used, copied,   *****
00008 ***** reproduced, modified, published, uploaded, posted, transmitted, distributed or disclosed in any way without *****
00009 ***** Intel's prior express written permission.
00010 *****
00011 ***** No license under any patent, copyright or other intellectual property rights in the material is granted to  *****
00012 ***** or conferred upon you, either expressly, by implication, inducement, estoppel or otherwise. Any license     *****
00013 ***** under such intellectual property rights must be express and approved by Intel in writing.
00014 ****/
00015 
00016 /**** Copyright Ends ****/
00017 
00018 #ifndef ARBB_CPP_BIND_DENSE_HPP
00019 #define ARBB_CPP_BIND_DENSE_HPP
00020 
00021 #include "namespace.hpp"
00022 #include "type_traits.hpp"
00023 #include "dense.hpp"
00024 #include "scalar.hpp"
00025 #include "array.hpp"
00026 #include "detail/enable_if.hpp"
00027 #include "detail/scalar_traits.hpp"
00028 
00029 namespace ARBB_CPP_NS {
00030 
00033 
00046 template <typename T, std::size_t D>
00047 typename detail::enable_if<detail::is_scalar<T>::value>::type
00048 bind(dense<T, D>& container, typename uncaptured<T>::type* data, const array<std::size_t, D>& size);
00049 
00064 template <typename T, std::size_t D>
00065 typename detail::enable_if<detail::is_scalar<T>::value>::type
00066 bind(dense<T, D>& container, typename uncaptured<T>::type* data, const array<std::size_t, D>& size, const array<std::size_t, D>& pitch);
00067 
00070 template <typename T>
00071 typename detail::enable_if<detail::is_scalar<T>::value>::type
00072 bind(dense<T>& container, typename uncaptured<T>::type* data, std::size_t size);
00073 
00076 template <typename T>
00077 typename detail::enable_if<detail::is_scalar<T>::value>::type
00078 bind(dense<T, 2>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height);
00079 
00082 template <typename T>
00083 typename detail::enable_if<detail::is_scalar<T>::value>::type
00084 bind(dense<T, 3>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t depth);
00085 
00088 template <typename T>
00089 typename detail::enable_if<detail::is_scalar<T>::value>::type
00090 bind(dense<T>& container, typename uncaptured<T>::type* data, std::size_t size, std::size_t pitch);
00091 
00094 template <typename T>
00095 typename detail::enable_if<detail::is_scalar<T>::value>::type
00096 bind(dense<T, 2>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t col_pitch, std::size_t row_pitch);
00097 
00100 template <typename T>
00101 typename detail::enable_if<detail::is_scalar<T>::value>::type
00102 bind(dense<T, 3>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t depth, std::size_t col_pitch, std::size_t row_pitch, std::size_t page_pitch);
00103 
00125 template <typename T, std::size_t D>
00126 typename detail::disable_if<detail::is_scalar<T>::value>::type
00127 bind(dense<T, D>& container, const array<std::size_t, D>& size, void* member1_data, ...);
00128 
00150 template <typename T>
00151 typename detail::disable_if<detail::is_scalar<T>::value>::type
00152 bind(dense<T, 1>& container, const array<std::size_t, 1>& size, void* member1_data, array<std::size_t, 1> pitch1, ...);
00153 
00175 template <typename T>
00176 typename detail::disable_if<detail::is_scalar<T>::value>::type
00177 bind(dense<T, 2>& container, const array<std::size_t, 2>& size, void* member1_data, array<std::size_t, 2> pitch1, ...);
00178 
00200 template <typename T>
00201 typename detail::disable_if<detail::is_scalar<T>::value>::type
00202 bind(dense<T, 3>& container, const array<std::size_t, 3>& size, void* member1_data, array<std::size_t, 3> pitch1, ...);
00203 
00204 
00207 template <typename T>
00208 typename detail::disable_if<detail::is_scalar<T>::value>::type
00209 bind(dense<T>& container, std::size_t size, void* member1_data, ...);
00210 
00213 template <typename T>
00214 typename detail::disable_if<detail::is_scalar<T>::value>::type
00215 bind(dense<T, 2>& container, std::size_t width, std::size_t height, void* member1_data, ...);
00216 
00219 template <typename T>
00220 typename detail::disable_if<detail::is_scalar<T>::value>::type
00221 bind(dense<T, 3>& container, std::size_t width, std::size_t height, std::size_t depth, void* member1_data, ...);
00222 
00225 template <typename T>
00226 typename detail::disable_if<detail::is_scalar<T>::value>::type
00227 bind(dense<T>& container, std::size_t size, void* member1_data, std::size_t pitch1, ...);
00228 
00231 template <typename T>
00232 typename detail::disable_if<detail::is_scalar<T>::value>::type
00233 bind(dense<T, 2>& container, std::size_t width, std::size_t height, void* member1_data, std::size_t col_pitch1, std::size_t row_pitch1, ...);
00234 
00237 template <typename T>
00238 typename detail::disable_if<detail::is_scalar<T>::value>::type
00239 bind(dense<T, 3>& container, std::size_t width, std::size_t height, std::size_t depth, void* member1_data, std::size_t col_pitch1, std::size_t row_pitch1, std::size_t page_pitch1, ...);
00240 
00241 
00255 template <typename T, std::size_t D, std::size_t N>
00256 typename detail::enable_if<detail::is_scalar<T>::value>::type
00257 bind(dense<array<T, N>, D>& container, typename uncaptured<T>::type* data, const array<std::size_t, D>& size);
00258 
00276 template <typename T, std::size_t D, std::size_t N>
00277 typename detail::enable_if<detail::is_scalar<T>::value>::type
00278 bind(dense<array<T, N>, D>& container, typename uncaptured<T>::type* data, const array<std::size_t, D>& size, const array<std::size_t, D>& record_pitch, std::size_t element_pitch);
00279 
00282 template <typename T, std::size_t N>
00283 typename detail::enable_if<detail::is_scalar<T>::value>::type
00284 bind(dense<array<T, N>, 1>& container, typename uncaptured<T>::type* data, std::size_t size);
00285 
00288 template <typename T, std::size_t N>
00289 typename detail::enable_if<detail::is_scalar<T>::value>::type
00290 bind(dense<array<T, N>, 2>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height);
00291 
00294 template <typename T, std::size_t N>
00295 typename detail::enable_if<detail::is_scalar<T>::value>::type
00296 bind(dense<array<T, N>, 3>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t depth);
00297 
00300 template <typename T, std::size_t N>
00301 typename detail::enable_if<detail::is_scalar<T>::value>::type
00302 bind(dense<array<T, N>, 1>& container, typename uncaptured<T>::type* data, std::size_t size, std::size_t record_pitch, std::size_t element_pitch);
00303 
00306 template <typename T, std::size_t N>
00307 typename detail::enable_if<detail::is_scalar<T>::value>::type
00308 bind(dense<array<T, N>, 2>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t col_pitch, std::size_t row_pitch, std::size_t element_pitch);
00309 
00312 template <typename T, std::size_t N>
00313 typename detail::enable_if<detail::is_scalar<T>::value>::type
00314 bind(dense<array<T, N>, 3>& container, typename uncaptured<T>::type* data, std::size_t width, std::size_t height, std::size_t depth, std::size_t col_pitch, std::size_t row_pitch, std::size_t page_pitch, std::size_t element_pitch);
00315 
00317 
00318 } // namespace ARBB_CPP_NS
00319 
00320 #endif // ARBB_CPP_BIND_DENSE_HPP

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.