summaryrefslogtreecommitdiff
path: root/lib/gras_impl/token.hpp
blob: f0d4afd26f533b8a2e159ac652e74c215a59885c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright (C) by Josh Blum. See LICENSE.txt for licensing information.

#ifndef INCLUDED_LIBGRAS_IMPL_TOKEN_HPP
#define INCLUDED_LIBGRAS_IMPL_TOKEN_HPP

#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>

namespace gras
{

typedef boost::weak_ptr<int> WeakToken;

struct Token : boost::shared_ptr<int>
{
    static Token make(void)
    {
        Token tok;
        tok.reset(new int(0));
        return tok;
    }
};

} //namespace gras

#endif /*INCLUDED_LIBGRAS_IMPL_TOKEN_HPP*/