Gradient Augmented Levelset Implementation in CPU & GPU
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
vec_n.h (Latest change: Author:Lakshman Anumolu <acrlakshman@yahoo.co.in>, 2019-06-25 17:58:32 -0500, [commit: 0bbc8db])
Go to the documentation of this file.
1
// Copyright 2019 Lakshman Anumolu, Raunak Bardia.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are
6
// met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice,
12
// this list of conditions and the following disclaimer in the documentation
13
// and/or other materials provided with the distribution.
14
//
15
// 3. Neither the name of the copyright holder nor the names of its contributors
16
// may be used to endorse or promote products derived from this software without
17
// specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32
#pragma once
33
34
#include <iostream>
35
#include <vector>
36
37
namespace
GALS
38
{
39
namespace
CPU
40
{
45
template
<
typename
T,
int
SIZE = 3>
46
class
VecN
47
{
48
public
:
49
using
value_type
= T;
50
53
VecN
();
54
57
~VecN
();
58
63
const
int
size
()
const
;
64
71
const
T
operator[]
(
const
int
idx)
const
;
72
79
T &
operator[]
(
const
int
idx);
80
88
friend
std::ostream &operator<<(std::ostream &out, const VecN<T, SIZE> &vec)
89
{
90
for
(
int
i = 0; i < vec.size(); ++i) out << vec[i] <<
"\t"
;
91
92
return
out;
93
}
94
95
private
:
96
std::vector<T> m_data;
97
};
98
99
}
// namespace CPU
100
}
// namespace GALS
GALS::CPU::VecN::size
const int size() const
Definition:
vec_n.cc:50
GALS::CPU::VecN::~VecN
~VecN()
Definition:
vec_n.cc:43
GALS::CPU::VecN::operator[]
const T operator[](const int idx) const
Definition:
vec_n.cc:56
GALS::CPU::VecN::VecN
VecN()
Definition:
vec_n.cc:35
GALS::CPU::VecN::value_type
T value_type
Definition:
vec_n.h:49
GALS::CPU::VecN
Definition:
vec_n.h:46
GALS
Definition:
input-parser.h:39
vec_n.h
Generated on Mon Jul 29 2019 15:24:07 for Gradient Augmented Levelset Implementation in CPU & GPU by
1.8.11