|
buds
0.1
FORTRAN reference counted types
|
A short introduction to the buds library and how it may be extended can be found in this section.
We highly welcome suggestions, issues and/or bug-fixes. Anybody is encouraged to contribute via the github development page:
Please do not hesitate to contribute!
The library is heavily pasted with pre-processor statements which, sadly, is not well-supported in a large range of fortran compilers. As such we require a minimal usage of external preprocessors which adhere to the C preprocessor statements. Any development should adhere to the standards found in the already present buds. These guide-lines for the code must be followed:
BUD_ which ensures no name-clashing with parenting libraries/applications.#undef statement to limit warnings when compiled.CONTRIBUTORS.md file which ensures a resulting documentation to be short and concise. In the CONTRIBUTORS.md file you may add any information and specifics of what has been implemented by specific authors.\@date marker as it clutters the documentation.\@opt to denote optional arguments, for instance: \@null as replacement for optional arguments which may have no informationget\_? to enable the function name as a local variable. It also helps understanding the code in-line.A short description of the required steps needed to create a custom bud type is listed here:
Define your internal data container. Its name must be BUD_TYPE_NAME_:
This data container name will only be visible in the module and thus it is relatively un-important what you choose.
We, however, recommend that you re-use the public type name with an appended _.
Define the data container (BUD_TYPE_NAME_)
This data type may contain anything you want but must be defined as this:
public or private for clarity of the interfaced routines.Add the common buds interfaces and routines.
Remark that this inclusions inserts a contains statement which forces the separation of variable/interface declarations from routine declarations.
BUD_TYPE_NAME_ type. This routine must be named delete_data.
1.8.11