blob: aee79905087a211d019bd38f6b444c510d666080 [file] [log] [blame]
Jeff Thompson86b6d642013-10-17 15:01:56 -07001// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2// (C) Copyright 2003-2007 Jonathan Turkanis
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
5
6// See http://www.boost.org/libs/iostreams for documentation.
7
8#ifndef NDNBOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED
9#define NDNBOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED
10
11#if defined(_MSC_VER) && (_MSC_VER >= 1020)
12# pragma once
13#endif
14
15#include <ndnboost/mpl/not.hpp>
16#include <ndnboost/type_traits/is_base_and_derived.hpp>
17
18namespace ndnboost { namespace iostreams {
19
20template<typename T>
21struct operations;
22
23namespace detail {
24
25struct custom_tag { };
26
27template<typename T>
28struct is_custom
29 : mpl::not_<
30 is_base_and_derived< custom_tag, operations<T> >
31 >
32 { };
33
34} // End namespace detail.
35
36template<typename T>
37struct operations : detail::custom_tag { };
38
39} } // End namespaces iostreams, boost.
40
41#endif // #ifndef NDNBOOST_IOSTREAMS_OPERATIONS_FWD_HPP_INCLUDED //--------------//