This file is indexed.

/usr/include/corvusoft/restbed/context_value.hpp is in librestbed-dev 4.0~dfsg1-5build1.

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
/*
 * Copyright 2013-2016, Corvusoft Ltd, All Rights Reserved.
 */

#ifndef _RESTBED_CONTEXT_VALUE_H
#define _RESTBED_CONTEXT_VALUE_H 1

//System Includes
#include <memory>
#include <ciso646>
#include <typeinfo>
#include <stdexcept>

//Project Includes
#include <corvusoft/restbed/context_placeholder.hpp>
#include <corvusoft/restbed/context_placeholder_base.hpp>

//External Includes

//System Namespaces

//Project Namespaces

//External Namespaces

namespace restbed
{
    //Forward Declarations
    
    class ContextValue
    {
        public:
            //Friends
            
            //Definitions
            
            //Constructors
            template< typename Type >
            ContextValue( const Type& value ) : m_placeholder( new ContextPlaceholder< Type >( value ) )
            {
                return;
            }
            
            ContextValue( const ContextValue& original ) : m_placeholder( original.m_placeholder )
            {
                return;
            }
            
            virtual ~ContextValue( void )
            {
                return;
            }
            
            //Functionality
            
            //Getters
            
            //Setters
            
            //Operators
            template< typename Type > operator Type( void ) const
            {
                if ( typeid( Type ) not_eq m_placeholder->type( ) )
                {
                    throw std::bad_cast( );
                }
                
                auto placeholder = static_cast< ContextPlaceholder< Type >* >( m_placeholder.get( ) );
                return *placeholder;
            }
            
            //Properties
            
        protected:
            //Friends
            
            //Definitions
            
            //Constructors
            
            //Functionality
            
            //Getters
            
            //Setters
            
            //Operators
            
            //Properties
            
        private:
            //Friends
            
            //Definitions
            
            //Constructors
            ContextValue( void ) = delete;
            
            //Functionality
            
            //Getters
            
            //Setters
            
            //Operators
            ContextValue& operator =( const ContextValue& value ) = delete;
            
            //Properties
            const std::shared_ptr< ContextPlaceholderBase > m_placeholder;
    };
}

#endif  /* _RESTBED_CONTEXT_VALUE_H */