Skip to content
Novus Examples
cpp924 B

C++ — Series (class template, STL)

A realistic C++ snippet with a class template, STL algorithms (max_element, accumulate), std::move, and range handling — for testing highlighters, g++/clang++, and parsers against real templates.

Preview — first 34 linescpp
// Temperature statistics: a class template, the STL algorithms,
// and range-based iteration.
#include <algorithm>
#include <iostream>
#include <numeric>
#include <vector>

template <typename T>
class Series {
public:
    explicit Series(std::vector<T> values) : values_(std::move(values)) {}

    T max() const { return *std::max_element(values_.begin(), values_.end()); }

    double mean() const {
        if (values_.empty()) return 0.0;
        T total = std::accumulate(values_.begin(), values_.end(), T{});
        return static_cast<double>(total) / values_.size();
    }

    std::size_t size() const { return values_.size(); }

private:
    std::vector<T> values_;
};

int main() {
    Series<double> temps({19.5, 21.0, 23.75, 18.25, 22.5});
    std::cout << "readings: " << temps.size() << "\n";
    std::cout << "max: " << temps.max() << "\n";
    std::cout << "mean: " << temps.mean() << "\n";
    return 0;
}

Specifications

Language
C++
Kind
realistic snippet
Lines
33
Encoding
UTF-8
Line Endings
LF

Testing contract

Expected to pass
Scenario
Compile the file and run it, then confirm the class template instantiates for a second numeric type.
Expected result
It prints `readings: 5`, `max: 23.75` and `mean: 21`, exercising `std::max_element`, `std::accumulate`, `std::move` in the constructor, and a `Series<T>` template that instantiates for any type supporting addition and division.

What is a .cpp file?

C++ (.cpp) is a plain-text source file for the C++ programming language — a statically typed, compiled language that extends C with classes, templates, operator overloading, the Standard Template Library, and RAII. It is used for high-performance applications, game engines, and systems software.

How to use this file

Use an example .cpp file to test syntax highlighters, C++ compilers (g++, clang++), static analysers and formatters, and parser or language-detection tooling against real language constructs.

How to use this file for testing

“C++ — Series (class template, STL)” is a deterministic Novus Examples fixture for Syntax highlighting, Code parsing, Editor testing. Idiomatic hello-world programs and realistic snippets across sixteen languages, exercising comments, string escapes, interpolation, numeric literals, and language keywords — for testing syntax highlighters, editor themes, and tree-sitter grammars.

Documented properties for this file: C++ · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

This is a short, known-correct source file. Run it through your syntax highlighter, linter, formatter, tree-sitter grammar, or parser, and open it in the in-browser editor to tweak and re-download. Each snippet exercises comments, string escapes, literals, and language keywords.

Code examples

c++ -std=c++20 temperature.cpp -o prog && ./prog

Generated by generation/code_samples.py. Free for any use, no attribution required — license.