map.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_MAP_HPP
00019 #define ARBB_CPP_MAP_HPP
00020 
00021 #include "namespace.hpp"
00022 
00023 #include "array.hpp"
00024 #include "array_funcs.hpp"
00025 #include "detail/function.hpp"
00026 
00027 namespace ARBB_CPP_NS {
00028 
00031 
00032 #ifdef ARBB_CPP_DOXYGEN_ONLY
00033 
00043 template<typename FunctionType>
00044 unspecified_type<FunctionType> map(FunctionType function);
00045 
00046 #endif
00047 
00053 template <typename T, std::size_t D>
00054 typename detail::disable_if<detail::is_container<T>::value, T>::type
00055 neighbor(const T& source, const array<isize, D>& offset);
00056 
00062 template <typename T>
00063 typename detail::disable_if<detail::is_container<T>::value, T>::type
00064 neighbor(const T& source, const isize& col);
00065 
00071 template <typename T>
00072 typename detail::disable_if<detail::is_container<T>::value, T>::type
00073 neighbor(const T& source, const isize& col, const isize& row);
00074 
00080 template <typename T>
00081 typename detail::disable_if<detail::is_container<T>::value, T>::type
00082 neighbor(const T& source, const isize& col, const isize& row, const isize& page);
00083 
00088 void position(usize& col);
00089 
00094 void position(usize& col, usize& row);
00095 
00100 void position(usize& col, usize& row, usize& page);
00101 
00106 template <std::size_t D>
00107 void position(array<usize, D>& pos);
00108 
00113 template <std::size_t D>
00114 array<usize, D> position();
00115 
00117 
00118 } // namespace ARBB_CPP_NS
00119 
00121 
00122 #include "detail/map_impl.hpp"
00123 
00124 #define ARBB_CPP_MAP_CLOSURE_N 1
00125 #include "detail/map_closure_template.hpp"
00126 #define ARBB_CPP_MAP_CLOSURE_N 2
00127 #include "detail/map_closure_template.hpp"
00128 #define ARBB_CPP_MAP_CLOSURE_N 3
00129 #include "detail/map_closure_template.hpp"
00130 #define ARBB_CPP_MAP_CLOSURE_N 4
00131 #include "detail/map_closure_template.hpp"
00132 #define ARBB_CPP_MAP_CLOSURE_N 5
00133 #include "detail/map_closure_template.hpp"
00134 #define ARBB_CPP_MAP_CLOSURE_N 6
00135 #include "detail/map_closure_template.hpp"
00136 #define ARBB_CPP_MAP_CLOSURE_N 7
00137 #include "detail/map_closure_template.hpp"
00138 #define ARBB_CPP_MAP_CLOSURE_N 8
00139 #include "detail/map_closure_template.hpp"
00140 #define ARBB_CPP_MAP_CLOSURE_N 9
00141 #include "detail/map_closure_template.hpp"
00142 #define ARBB_CPP_MAP_CLOSURE_N 10
00143 #include "detail/map_closure_template.hpp"
00144 #define ARBB_CPP_MAP_CLOSURE_N 11
00145 #include "detail/map_closure_template.hpp"
00146 #define ARBB_CPP_MAP_CLOSURE_N 12
00147 #include "detail/map_closure_template.hpp"
00148 #define ARBB_CPP_MAP_CLOSURE_N 13
00149 #include "detail/map_closure_template.hpp"
00150 #define ARBB_CPP_MAP_CLOSURE_N 14
00151 #include "detail/map_closure_template.hpp"
00152 #define ARBB_CPP_MAP_CLOSURE_N 15
00153 #include "detail/map_closure_template.hpp"
00154 #define ARBB_CPP_MAP_CLOSURE_N 16
00155 #include "detail/map_closure_template.hpp"
00156 #define ARBB_CPP_MAP_CLOSURE_N 17
00157 #include "detail/map_closure_template.hpp"
00158 #define ARBB_CPP_MAP_CLOSURE_N 18
00159 #include "detail/map_closure_template.hpp"
00160 #define ARBB_CPP_MAP_CLOSURE_N 19
00161 #include "detail/map_closure_template.hpp"
00162 #define ARBB_CPP_MAP_CLOSURE_N 20
00163 #include "detail/map_closure_template.hpp"
00164 #define ARBB_CPP_MAP_CLOSURE_N 21
00165 #include "detail/map_closure_template.hpp"
00166 #define ARBB_CPP_MAP_CLOSURE_N 22
00167 #include "detail/map_closure_template.hpp"
00168 #define ARBB_CPP_MAP_CLOSURE_N 23
00169 #include "detail/map_closure_template.hpp"
00170 #define ARBB_CPP_MAP_CLOSURE_N 24
00171 #include "detail/map_closure_template.hpp"
00172 #define ARBB_CPP_MAP_CLOSURE_N 25
00173 #include "detail/map_closure_template.hpp"
00174 #define ARBB_CPP_MAP_CLOSURE_N 26
00175 #include "detail/map_closure_template.hpp"
00176 #define ARBB_CPP_MAP_CLOSURE_N 27
00177 #include "detail/map_closure_template.hpp"
00178 #define ARBB_CPP_MAP_CLOSURE_N 28
00179 #include "detail/map_closure_template.hpp"
00180 #define ARBB_CPP_MAP_CLOSURE_N 29
00181 #include "detail/map_closure_template.hpp"
00182 #define ARBB_CPP_MAP_CLOSURE_N 30
00183 #include "detail/map_closure_template.hpp"
00184 #define ARBB_CPP_MAP_CLOSURE_N 31
00185 #include "detail/map_closure_template.hpp"
00186 #define ARBB_CPP_MAP_CLOSURE_N 32
00187 #include "detail/map_closure_template.hpp"
00188 #define ARBB_CPP_MAP_CLOSURE_N 33
00189 #include "detail/map_closure_template.hpp"
00190 #define ARBB_CPP_MAP_CLOSURE_N 34
00191 #include "detail/map_closure_template.hpp"
00192 #define ARBB_CPP_MAP_CLOSURE_N 35
00193 #include "detail/map_closure_template.hpp"
00194 
00196 
00197 #endif // ARBB_CPP_MAP_HPP

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.