/usr/include/armadillo_bits/span.hpp is in libarmadillo-dev 1:4.200.0+dfsg-1.
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 | // Copyright (C) 2010-2012 Conrad Sanderson
// Copyright (C) 2010-2012 NICTA (www.nicta.com.au)
// Copyright (C) 2011 Stanislav Funiak
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//! \addtogroup span
//! @{
struct span_alt {};
template<typename Dummy = int>
class span_base
{
public:
static const span_alt all;
};
template<typename Dummy>
const span_alt span_base<Dummy>::all = span_alt();
class span : public span_base<>
{
public:
uword a;
uword b;
bool whole;
inline
span()
: whole(true)
{
}
inline
span(const span_alt&)
: whole(true)
{
}
// TODO:
// if the "explicit" keyword is removed or commented out,
// the compiler will be able to automatically convert integers to an instance of the span class.
// this is useful for Cube::operator()(span&, span&, span&),
// but it might have unintended consequences or interactions elsewhere.
// as such, removal of "explicit" needs thorough testing.
inline
explicit
span(const uword in_a)
: a(in_a)
, b(in_a)
, whole(false)
{
}
inline
span(const uword in_a, const uword in_b)
: a(in_a)
, b(in_b)
, whole(false)
{
}
};
//! @}
|