File: ExampleWritePlugin.tcc

package info (click to toggle)
adios2 2.10.2%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,764 kB
  • sloc: cpp: 175,964; ansic: 160,510; f90: 14,630; yacc: 12,668; python: 7,275; perl: 7,126; sh: 2,825; lisp: 1,106; xml: 1,049; makefile: 579; lex: 557
file content (52 lines) | stat: -rw-r--r-- 1,392 bytes parent folder | download | duplicates (2)
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
/*
 * Distributed under the OSI-approved Apache License, Version 2.0.  See
 * accompanying file Copyright.txt for details.
 *
 * ExampleWritePlugin.tcc
 *
 *  Created on: Jul 5, 2021
 *      Author: Chuck Atkins <chuck.atkins@kitware.com>
 *              Caitlin Ross <caitlin.ross@kitware.com>
 */

#ifndef EXAMPLEWRITEPLUGIN_TCC_
#define EXAMPLEWRITEPLUGIN_TCC_

#include "ExampleWritePlugin.h"

namespace adios2
{
namespace plugin
{

template <typename T>
void ExampleWritePlugin::WriteVariableInfo(core::Variable<T> &variable)
{
    /** write basic variable info to file **/
    m_VarFile << variable.m_Name << ";" << variable.m_Type << ";" << variable.m_Shape << ";"
              << variable.m_Start << ";" << variable.m_Count << std::endl;
}

template <typename T>
void ExampleWritePlugin::WriteArray(core::Variable<T> &variable, const T *values)
{
    /** Write variable name and step to file, followed by the actual data on the
     * next line **/
    m_DataFile << variable.m_Name << "," << m_CurrentStep << std::endl;
    for (size_t i = 0; i < variable.SelectionSize(); ++i)
    {
        m_DataFile << values[i];
        if (i < variable.SelectionSize() - 1)
        {
            m_DataFile << ",";
        }
        else
        {
            m_DataFile << std::endl;
        }
    }
}

} // end namespace plugin
} // end namespace adios2
#endif /* EXAMPLEWRITEPLUGIN_TCC_ */