This file is indexed.

/usr/include/boost/statechart/result.hpp is in libboost1.55-dev 1.55.0+dfsg-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#ifndef BOOST_STATECHART_RESULT_HPP_INCLUDED
#define BOOST_STATECHART_RESULT_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
// Copyright 2002-2010 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////



#include <boost/assert.hpp>



namespace boost
{
namespace statechart
{
namespace detail
{



//////////////////////////////////////////////////////////////////////////////
enum reaction_result
{
  no_reaction,
  do_forward_event,
  do_discard_event,
  do_defer_event,
  consumed
};

struct result_utility;

//////////////////////////////////////////////////////////////////////////////
class safe_reaction_result
{
  public:
    //////////////////////////////////////////////////////////////////////////
    safe_reaction_result( const safe_reaction_result & other ) :
      reactionResult_( other.reactionResult_ )
    {
      // This assert fails when an attempt is made to make multiple copies of
      // a result value. This makes little sense, given the requirement that
      // an obtained result value must be returned out of the react function.
      BOOST_ASSERT( reactionResult_ != consumed );
      other.reactionResult_ = consumed;
    }

    ~safe_reaction_result()
    {
      // This assert fails when an obtained result value is not returned out
      // of the react() function. This can happen if the user accidentally
      // makes more than one call to reaction functions inside react() or
      // accidentally makes one or more calls to reaction functions outside
      // react()
      BOOST_ASSERT( reactionResult_ == consumed );
    }

  private:
    //////////////////////////////////////////////////////////////////////////
    safe_reaction_result( reaction_result reactionResult ) :
      reactionResult_( reactionResult )
    {
    }

    operator reaction_result() const
    {
      const reaction_result val = reactionResult_;
      reactionResult_ = consumed;
      return val;
    }

    safe_reaction_result & operator=( const safe_reaction_result & );

    mutable reaction_result reactionResult_;

    friend struct result_utility;
};



} // namespace detail



#ifdef NDEBUG
  typedef detail::reaction_result result;
#else
  typedef detail::safe_reaction_result result;
#endif


namespace detail
{



//////////////////////////////////////////////////////////////////////////////
struct result_utility
{
  static ::boost::statechart::result make_result( reaction_result value )
  {
    return value;
  }

  static reaction_result get_result( ::boost::statechart::result value )
  {
    return value;
  }
};



} // namespace detail
} // namespace statechart
} // namespace boost



#endif