Bash++
Bash++ compiler internal documentation
bpp_datamember.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 Andrew S. Rightenburg
3 * Bash++: Bash with classes
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
7#pragma once
8
9#include <string>
10
11#include "bpp.h"
12#include "bpp_object.h"
13
14namespace bpp {
15
21class bpp_datamember : public bpp_object {
22 private:
23 std::string default_value;
25 bool array = false;
26 public:
27 void set_default_value(const std::string& default_value);
29 void set_array(bool is_array);
30
31 std::string get_address() const override;
32 std::string get_default_value() const;
33 bpp_scope get_scope() const;
34 bool is_array() const;
35};
36
37
42inline const std::shared_ptr<bpp_datamember> inaccessible_datamember = std::make_shared<bpp_datamember>();
43
44} // namespace bpp
A data member in a class.
Definition bpp_datamember.h:21
bool is_array() const
Definition bpp_datamember.cpp:35
bool array
Definition bpp_datamember.h:25
void set_scope(bpp_scope scope)
Definition bpp_datamember.cpp:15
std::string get_default_value() const
Definition bpp_datamember.cpp:27
void set_default_value(const std::string &default_value)
Definition bpp_datamember.cpp:11
std::string get_address() const override
Definition bpp_datamember.cpp:23
bpp_scope scope
Definition bpp_datamember.h:24
std::string default_value
Definition bpp_datamember.h:23
bpp_scope get_scope() const
Definition bpp_datamember.cpp:31
void set_array(bool is_array)
Definition bpp_datamember.cpp:19
An object in Bash++.
Definition bpp_object.h:22
Definition bash_case.cpp:9
bpp_scope
Definition bpp.h:20
const std::shared_ptr< bpp_datamember > inaccessible_datamember
A placeholder for an inaccessible data member of a class (scope handling)
Definition bpp_datamember.h:42