File indexing completed on 2025-01-18 10:12:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef __TBB_flow_graph_H
0018 #define __TBB_flow_graph_H
0019
0020 #define __TBB_flow_graph_H_include_area
0021 #include "internal/_warning_suppress_enable_notice.h"
0022
0023 #include "tbb_stddef.h"
0024 #include "atomic.h"
0025 #include "spin_mutex.h"
0026 #include "null_mutex.h"
0027 #include "spin_rw_mutex.h"
0028 #include "null_rw_mutex.h"
0029 #include "task.h"
0030 #include "cache_aligned_allocator.h"
0031 #include "tbb_exception.h"
0032 #include "pipeline.h"
0033 #include "internal/_template_helpers.h"
0034 #include "internal/_aggregator_impl.h"
0035 #include "tbb/internal/_allocator_traits.h"
0036 #include "tbb_profiling.h"
0037 #include "task_arena.h"
0038
0039 #if TBB_USE_THREADING_TOOLS && TBB_PREVIEW_FLOW_GRAPH_TRACE && ( __linux__ || __APPLE__ )
0040 #if __INTEL_COMPILER
0041
0042 #pragma warning (push)
0043 #pragma warning( disable: 2196 )
0044 #endif
0045 #define __TBB_NOINLINE_SYM __attribute__((noinline))
0046 #else
0047 #define __TBB_NOINLINE_SYM
0048 #endif
0049
0050 #if __TBB_PREVIEW_ASYNC_MSG
0051 #include <vector> // std::vector in internal::async_storage
0052 #include <memory> // std::shared_ptr in async_msg
0053 #endif
0054
0055 #if __TBB_PREVIEW_STREAMING_NODE
0056
0057 #include <array> // std::array
0058 #include <unordered_map> // std::unordered_map
0059 #include <type_traits> // std::decay, std::true_type, std::false_type
0060 #endif
0061
0062 #if TBB_DEPRECATED_FLOW_ENQUEUE
0063 #define FLOW_SPAWN(a) tbb::task::enqueue((a))
0064 #else
0065 #define FLOW_SPAWN(a) tbb::task::spawn((a))
0066 #endif
0067
0068 #if TBB_DEPRECATED_FLOW_NODE_ALLOCATOR
0069 #define __TBB_DEFAULT_NODE_ALLOCATOR(T) cache_aligned_allocator<T>
0070 #else
0071 #define __TBB_DEFAULT_NODE_ALLOCATOR(T) null_type
0072 #endif
0073
0074
0075 #if __TBB_CPP11_TUPLE_PRESENT
0076 #include <tuple>
0077 namespace tbb {
0078 namespace flow {
0079 using std::tuple;
0080 using std::tuple_size;
0081 using std::tuple_element;
0082 using std::get;
0083 }
0084 }
0085 #else
0086 #include "compat/tuple"
0087 #endif
0088
0089 #include