Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 1.51 KB

CONTRIBUTING.md

File metadata and controls

54 lines (40 loc) · 1.51 KB

Contributing

Hello dear contributor! Before hand thank you for your contribution to RPP!

Below you can find some useful info about contribution to RPP project

Getting started

Helpful notes for developers can be found in the HACKING.md document.

In addition to he above, if you use the presets file as instructed, then you should NOT check it into source control, just as the CMake documentation suggests.

Code Style

There short list of code styles used in this project. Please, follow this one during development of the new features for RPP

  • private member variables: start from m_ and written in the snake_case. Example: m_data
  • names of classes/functions: snake_case. Example: my_class
  • template typenames: CamelCase. Example: template<typename Type> struct state{};
  • brackets in fuctions/classes: from new line everytime except of inline functions. Examples:
void my_long_function()
{
  int v;
  int b = v+2;
}

# Option 1
int my_short_function() { return 2; }

# Option 2
int my_short_function()
{
    return 2;
}

Tricky moments

Inline constraints/conepts

When you are developing new operators be sure, that your lift-operator doesn't use inline constraints over subscribers like this:

void operator(auto&& value, const constraint::subscriber auto& subscribier)

In this case intellisense of VS Code can't deduce final type of observable. Prefer this one:

template<constraint::subscriber TSub>
void operator(auto&& value, const TSub& subscribier)