A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
GenericBlock.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* *
3
* Copyright 2018 Rice University *
4
* *
5
* Licensed under the Apache License, Version 2.0 (the "License"); *
6
* you may not use this file except in compliance with the License. *
7
* You may obtain a copy of the License at *
8
* *
9
* http://www.apache.org/licenses/LICENSE-2.0 *
10
* *
11
* Unless required by applicable law or agreed to in writing, software *
12
* distributed under the License is distributed on an "AS IS" BASIS, *
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14
* See the License for the specific language governing permissions and *
15
* limitations under the License. *
16
* *
17
*****************************************************************************/
18
#ifndef GENERIC_BLOCK_H
19
#define GENERIC_BLOCK_H
20
21
// by Jia, Oct, 2016
22
23
#include "
PDBVector.h
"
24
#include "
Object.h
"
25
26
// PRELOAD %GenericBlock%
27
namespace
pdb {
28
29
// this class encapsulates a block of tuples/objects
30
// a page in user set can be transformed into a vector of generic blocks
31
// a generic block will be the basic unit of execution in pipeline
32
// most processors are based on generic block, except two: bundle processor and unbundle processor
33
// a bundle processor converts several pages into a vector of generic blocks;
34
// an unbundle processor converts a vector of generic blocks into several pages;
35
36
class
GenericBlock
:
public
Object
{
37
38
private
:
39
Vector<Handle<Object>
>
block
;
40
41
public
:
42
ENABLE_DEEP_COPY
43
44
~GenericBlock
() {}
45
46
GenericBlock
() {}
47
GenericBlock
(
size_t
batchSize) :
block
(batchSize) {}
48
Vector<Handle<Object>
>&
getBlock
() {
49
return
block
;
50
}
51
};
52
}
53
54
#endif
pdb::GenericBlock::GenericBlock
GenericBlock(size_t batchSize)
Definition:
GenericBlock.h:47
pdb::GenericBlock::GenericBlock
GenericBlock()
Definition:
GenericBlock.h:46
ENABLE_DEEP_COPY
#define ENABLE_DEEP_COPY
Definition:
DeepCopy.h:52
pdb::Object
Definition:
Object.h:42
pdb::GenericBlock::block
Vector< Handle< Object > > block
Definition:
GenericBlock.h:39
pdb::GenericBlock::getBlock
Vector< Handle< Object > > & getBlock()
Definition:
GenericBlock.h:48
pdb::Vector
Definition:
PDBVector.h:41
PDBVector.h
Object.h
pdb::GenericBlock::~GenericBlock
ENABLE_DEEP_COPY ~GenericBlock()
Definition:
GenericBlock.h:44
pdb::GenericBlock
Definition:
GenericBlock.h:36
plinycompute
pdb
src
builtInPDBObjects
headers
GenericBlock.h
Generated on Mon Jun 18 2018 18:10:35 by
1.8.6