1 // Forward declaration of the circular buffer and its adaptor. 2 3 // Copyright (c) 2003-2008 Jan Gaspar 4 5 // Use, modification, and distribution is subject to the Boost Software 6 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 9 // See www.boost.org/libs/circular_buffer for documentation. 10 11 #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP) 12 #define BOOST_CIRCULAR_BUFFER_FWD_HPP 13 14 #if defined(_MSC_VER) 15 #pragma once 16 #endif 17 18 #include <boost/config.hpp> 19 #if !defined(BOOST_NO_STD_ALLOCATOR) 20 #include <memory> 21 #else 22 #include <vector> 23 #endif 24 25 namespace boost { 26 27 #if !defined(BOOST_NO_STD_ALLOCATOR) 28 #define BOOST_CB_DEFAULT_ALLOCATOR(T) std::allocator<T> 29 #else 30 #define BOOST_CB_DEFAULT_ALLOCATOR(T) BOOST_DEDUCED_TYPENAME std::vector<T>::allocator_type 31 #endif 32 33 template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)> 34 class circular_buffer; 35 36 template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)> 37 class circular_buffer_space_optimized; 38 39 #undef BOOST_CB_DEFAULT_ALLOCATOR 40 41 } // namespace boost 42 43 #endif // #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP) 44