This file is indexed.

/usr/include/Poco/MongoDB/Array.h is in libpoco-dev 1.8.0.1-1ubuntu4.

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
//
// Array.h
//
// Library: MongoDB
// Package: MongoDB
// Module:  Array
//
// Definition of the Array class.
//
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier:	BSL-1.0
//


#ifndef MongoDB_Array_INCLUDED
#define MongoDB_Array_INCLUDED


#include "Poco/NumberFormatter.h"
#include "Poco/MongoDB/MongoDB.h"
#include "Poco/MongoDB/Document.h"


namespace Poco {
namespace MongoDB {


class MongoDB_API Array: public Document
	/// This class represents a BSON Array.
{
public:
	typedef SharedPtr<Array> Ptr;

	Array();
		/// Creates an empty Array.

	virtual ~Array();
		/// Destroys the Array.

	template<typename T>
	T get(int pos) const
		/// Returns the element at the given index and tries to convert
		/// it to the template type. If the element is not found, a
		/// Poco::NotFoundException will be thrown. If the element cannot be
		/// converted a BadCastException will be thrown.
	{
		return Document::get<T>(Poco::NumberFormatter::format(pos));
	}

	template<typename T>
	T get(int pos, const T& deflt) const
		/// Returns the element at the given index and tries to convert
		/// it to the template type. If the element is not found, or
		/// has the wrong type, the deflt argument will be returned.
	{
		return Document::get<T>(Poco::NumberFormatter::format(pos), deflt);
	}

	Element::Ptr get(int pos) const;
		/// Returns the element at the given index.
		/// An empty element will be returned if the element is not found.

	template<typename T>
	bool isType(int pos) const
		/// Returns true if the type of the element equals the TypeId of ElementTrait,
		/// otherwise false.
	{
		return Document::isType<T>(Poco::NumberFormatter::format(pos));
	}

	std::string toString(int indent = 0) const;
		/// Returns a string representation of the Array.
};


// BSON Embedded Array
// spec: document
template<>
struct ElementTraits<Array::Ptr>
{
	enum { TypeId = 0x04 };

	static std::string toString(const Array::Ptr& value, int indent = 0)
	{
		//TODO:
		return value.isNull() ? "null" : value->toString(indent);
	}
};


template<>
inline void BSONReader::read<Array::Ptr>(Array::Ptr& to)
{
	to->read(_reader);
}


template<>
inline void BSONWriter::write<Array::Ptr>(Array::Ptr& from)
{
	from->write(_writer);
}


} } // namespace Poco::MongoDB


#endif // MongoDB_Array_INCLUDED