OpenLLM-France/wikimedia huggingface dataset:
# C++ Language/Preprocessing/Macros

A "preprocessor macro" enables the effect of cut-and-paste of source code, from that macro's definition (in a #define statement) to anywhere the programmer "expands" that macro.
This cutting-and-pasting action could be parameterized. If a macro has been defined to accept a parameter, its expansion is allowed to pass nothingness. A "variadic macro" is written to accept a variable number of macro-parameters.
Additional information about macros (includes interactive examples)
# C++ Language/ProgramFlow

When a C++ program is running, you should think of the computer as executing its statements in a flow that generally goes linearly from first to last statement. However, the language provides several programming constructs which can alter that program flow.
* Loops
* The break Statement
* Return Value
* Parameters
* Function Overloading
* Function-Pointer
* Deprecating a Function
# C++ Language/ProgramFlow/BreakStatement/FallthroughInSwitch

A switch statement is an efficient substitute for many if (x==1) {body} else if (x==5) {body} else if (x==99) {body} chains. In a switch statement, each body is a sequence of statements preceded by a case 5: label. If you don't terminate that sequence of statements by break;, then program flow will fall-through and also perform the next sequence of statements. This is often a programming bug, so when you intentionally do this, write [[fallthrough]]; in place of break;.
Additional information about fallthrough (includes interactive examples)
# C++ Language/ProgramFlow/DeprecatingFunction

An undesirable part of an API can be marked with [[deprecated]].
Additional information about deprecating a function (includes interactive examples)
# C++ Language/Preprocessing/ConditionalCompilation

The traditional way to conditionally-compile code was to use #ifdef or #if. But the preprocessor cannot reason about types, so modern code sometimes uses if constexpr instead.
Additional information about conditional-compilation (includes interactive examples)
# C++ Language/Preprocessing/PreprocessingStrings

Two adjacent string literals are treated as if they had been concatenated.
For a string literal that contains a special character (e.g., a newline), either escape that special character (\n) or use a raw-string-literal.
A preprocessor macro can optionally add quotation marks to a macro-parameter while that macro expands.
Additional information about preprocessing strings (includes interactive examples)
# C++ Language/ProgramFlow/BreakStatement

A break statement aborts the execution of a loop. Instead of finishing the remaining statements in the loop's body, program flow immediately jumps to the code that follows the loop (ignoring the loop's condition).
* A Break in a Nested Loop
* Fallthrough in a Switch
# C++ Language/ProgramFlow/BreakStatement/BreakInNestedLoop

When there is nesting, a break statement only terminates the innermost loop.
Additional information about breaking out of a nested loop
# C++ Language/Preprocessing/Tokenization

When your C++ source file is being compiled, one of the first things that happens is your compiler uses its preprocessor to "tokenize" your program.
Tokenization would process code like iA+++iB by splitting it into four tokens (variable identifier iA, then operator ++, then operator +, then variable identifier iB).
A preprocessor macro is able to use ## within its definition, to construct a compilation-token while the macro expands.
Additional information about tokenization (includes interactive examples)
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/example/bob/Build rig

| previous module: "Working Example: Bob" | • Table of Contents • Glossary | next module: "Deform the Mesh" |
If you think you already know what a rig is, then you probably need to read the definition of "rig" and "rigging" before we get started. It's important to note that an armature is not a rig, but a rig can be an armature. Assigning a mesh to be deformed by an armature is not rigging.
A rig should always be designed for the types of animations your character is going to be performing. Only make your rig as complex as it needs to be to allow for the types of actions you need.
To make everything with the armature easy to deal with, we're going to make our character in the crucifix pose. If he's not, you will have headaches trying to deal with bone roll angles. Once Blender can easily allow the user to roll the bone to align with a roll target, then I'll edit this tutorial for that. But in the meantime, we will use vertical legs and horizontal arms. We will build the legs from the side view and arms from the top view.
Center the cursor (shift+c) and add an armature. In Object Mode, press alt+r to clear the rotation. You have to have a bone for the hip, and it needs to stick out of his front or his back, so take your pick, because they both look bad. Don't point the bone upward at some odd angle, we need to be able to roll the hips easily, and to that end, we will place the bone horizontally.
In front view, place the cursor and add a bone. IMAGE
In side view, move points and extrude them until your chain looks like this. Note the slight bend in the knee. This is very important! IMAGE
Snap your cursor to the root of this chain (shift+s) and add a bone. Now select the points at the hip joint and the ankle joint, and snap the cursor to the selection. IMAGE
Select the tip of the newest bone and snap it to the cursor. IMAGE
Now give these bones some names. It's a good idea to use the same names I do to avoid confusion, since I will refer to the bones by name. Select upperleg.l and then shift+select leg.l, and press ctrl+p to make upperleg.l the child of leg.l. Do this again, but make leg.l the child of hip. IMAGE
In front view, center your cursor and select
pivot point
| previous module: "Working Example: Bob" | • Table of Contents • Glossary | next module: "Deform the Mesh" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/example/bob/connect2mesh

| previous module: "Building the rig" | • Table of Contents • Glossary | next module: "Create a Walk Cycle" |
This is where you do the animating.
| previous module: "Building the rig" | • Table of Contents • Glossary | next module: "Create a Walk Cycle" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/Guided tour/timeline

| previous module: "IK Solver" | • Table of Contents • Glossary | next module: "Graph Editor" |

## Timeline Window

The Timeline window is below the 3D view in every standard project. You can see where keyframes are for the selected object and scroll through the timeline
| previous module: "IK Solver" | • Table of Contents • Glossary | next module: "Graph Editor" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/example/bob/index

| previous module: "Introduction to the NLA Editor" | • Table of Contents • Glossary | next module: "Build The Rig" |
In this tutorial, we are going to be constructing a fully functional, humanoid character, with a complete rig, and we are going to animate him performing a walk cycle.

## Getting Started

* Build the Rig
* Deform the Mesh
* Create a Walk Cycle
| previous module: "Introduction to the NLA Editor" | • Table of Contents • Glossary | next module: "Build The Rig" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/example/bob/walk

| previous module: "Deform the Mesh" | • Table of Contents • Glossary | next module: "Working example: Piston, Rod and Crank" |
This is where you create the walk cycle.
| previous module: "Deform the Mesh" | • Table of Contents • Glossary | next module: "Working example: Piston, Rod and Crank" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Game Engine

| previous module: "Working example: Cutting Through Steel" | • Table of Contents • Glossary | nextmodule: "Game Creating Techniques(GUI)" |
This set of tutorials is for Blender users who stumble up on the basics of certain games, such as making a HUD, menu, or even a simple button. This is also a place where users who know cool ways to spice a game up or explain troublesome aspects of making certain parts of a game genre's content work (like how to get Blender to calculate the damage of a bullet shooting).
There are a couple subsections to this. One is for those who don't like the messiness of python. Learning python to the point of being able to create a game with it will take months, maybe years, just to learn it, not to mention how long it would take to type the specific code and troubleshoot. So, the first section is for those who are much more comfortable with using the GUI Blender screen to make the majority of their game, and the tutorials exist to help them enhance their game.
Note: No matter how much GUI you'd like to use in game creation, there is a certain amount of python you will HAVE to use to be able to really make your game good. Make sure to at least read up on it. Sorry.
Jump to Game Creating Techniques within a GUI
Then there is the second subsection. This section is to help those who are comfortable with python learn how to use the code in ways they never thought of, and to show those who don't do so well with it just what python can do. While it's a simple language, it can still be incredibly complicated at times, and very, very picky.
Note: DO NOT SUBMIT ANY CODE YOU DO NOT WANT COPIED A MILLION TIMES! This section is for helping the broad and the narrow range of Blender users to learn how to use python better, and there will be no expectation of attribution for submitting code you found out yourself.
Jump to Game Creating Techniques with Python
| previous module: "Working example: Cutting Through Steel" | • Table of Contents • Glossary | nextmodule: "Game Creating Techniques(GUI)" |
# Blender 3D: Noob to Pro/Advanced Tutorials/Advanced Animation/Guided tour/ipo/type

| previous module: "Graph Editor" | • Table of Contents • Glossary | next module: "NLA Window" |

## Dope Sheet

The Dope Sheet is a window in which you can move, very easy, keyframes from one frame to the other. They are visualised with clear diamonds.
| previous module: "Graph Editor" | • Table of Contents • Glossary | next module: "NLA Window" |
# A-level Computing/AQA/Paper 1/Fundamentals of programming/Object-oriented programming
## Overview

Where Procedure-oriented programming uses procedures to make code easier to write and understand, Object-oriented programming (OOP) goes a step further and uses objects to make code easier to create and work with.
In OOP, the word "object" has special meaning: objects are defined as a specific way of organizing source code. Briefly, an Object is the combination of:
* Some data (i.e. variables) that are related to each other
* Procedures specifically designed to work with that data
* Examples
* A car could be represented by a Car object.
* The data might include: colour, manufacturer, top-speed
* Procedures might include: start_engine, accelerate, brake

## Background

If a program only requires a few lines of source code to write down, there is no advantage to using this technique. Procedure-oriented and Object-oriented programming were invented because programs were getting longer and longer, and were difficult to work with. Programmers needed more structure to simplify the programming process.
A program of moderate size and complexity can be simplified using procedures. With especially large or complex programs, procedures are not enough; OOP became popular as a way of handling these very complex programs.
A program may be complex in the raw source code - many lines of code, many procedures. Or it may be complex in the way it's written - many human authors, many interactions between different parts. OOP helps with both.
We will look at the detailed reasons for and against once we've covered the key concepts.

## Improvements to Procedure-Oriented Programming

OOP started from observing ways of writing Procedure-oriented programs that were more effective (easier to write, had fewer bugs) than others. A few techniques that were optional in Procedure-oriented programming became the core of OOP:
* Encapsulation - a programming language mechanism for restricting direct access for IT-developers to some of the object's data. The object Student can have public variable knowledge_level and private variable critical_information).
* Aggregation - an aggregate object is an object which contains other objects. For example, a Car class would contain Engine, Wheels, Cabin, Fuel objects. Sometimes a class refers to real-world physical objects (like a Car). Sometimes it is more abstract (e.g. university and students).
* Composition - composition is like aggregation but it is a real-time technique. Using interfaces you can replace objects at real time. But objects must have the same type.
* Interfaces - the Interface separates the implementation and defines the structure. It's like a car's digital-audio panel - where you can choose between rock, classical music or for example choose star-fm radio station. This concept is useful when implementation of the object can be interchangeable. Also, please pay attention that you can use this technique if implementation is changing frequently!
# Object Oriented Programming

Jump to navigationJump to search Object Oriented Programming (OOP) means any kind of programming that uses a programming language with some object oriented constructs or programming in an environment where some object oriented principles are followed. At its heart, though, object oriented programming is a mindset which respects programming as a problem-solving dilemma on a grand scale which requires careful application of abstractions and subdividing problems into manageable pieces. Compared with procedural programming, a superficial examination of code written in both styles would reveal that object oriented code tends to be broken down into vast numbers of small pieces, with the hope that each piece will be trivially verifiable. OOP was one step towards the holy grail of software-re-usability, although no new term has gained widespread acceptance, which is why "OOP" is used to mean almost any modern programming distinct from systems programming, assembly programming, functional programming, or database programming. Modern programming would be better categorized as "multi-paradigm" programming, and that term is sometimes used. This book is primarily aimed at modern, multi-paradigm programming, which has classic object oriented programming as its immediate predecessor and strongest influence.
Historically, "OOP" has been one of the most influential developments in computer programming, gaining widespread use in the mid 1980s. Originally heralded for its facility for managing complexity in ever-growing software systems, OOP quickly developed its own set of difficulties. Fortunately, the ever evolving programming landscape gave us "interface" programming, design patterns, generic programming, and other improvements paving the way for more contemporary Multi-Paradigm programming. While some people will debate endlessly about whether or not a certain language implements "Pure" OOP—and bless or denounce a language accordingly—this book is not intended as an academic treatise on object oriented programming or its theory.
Instead, we aim for something more pragmatic: we start with basic OO theory and then delve into a handful of real-world languages to examine how they support OO programming. Since we obviously cannot teach each language, the point is to illustrate the trade-offs inherent in different approaches to OOP.

## Table Of Contents

* Introduction
* Classes
** Properties
** Methods
** Constructors
*** Lifetime Management
** Getters and Setters
** Static vs Dynamic
** Private vs Public
* Encapsulation
* Inheritance
** Subclasses
** Superclasses
* Abstraction
* Advanced Concepts
** State
** Interfaces
* See also
# A-level Computing/AQA/Paper 1/Fundamentals of programming/OOP Examples of key elements
## Examples of the four elements of OOP

Typical Objects can be things that appear on the screen (e.g., pictures, textboxes, etc.) or things are part of the programming (e.g. actors, connections, particles, etc.).

### Attributes: Example

These store information about the object. In the example above we store the fuel and maxSpeed. The attributes are attached to the classes, and if there are several instances (objects) of the classes then each will store its own version of these variables. Note that instead of the usual dim, there is the word private or public, we'll cover that in the encapsulation section.
# A-level Computing/AQA/Paper 1/Fundamentals of programming/OOP Examples of key features
## Polymorphism

When you were young you might have watched the Mighty Morphin' Power Rangers. These guys could morph from regular people into their power suits. Sadly polymorphism isn't that exciting, but it does allow you to change the function of attributes and methods when you are inheriting from a parent class.

## Inheritance

By using inheritance it makes creating new classes very quick and easy. It also allows for a modular approach to creating classes, where you might never use the base class at all, but only as a means of creating other child classes.
Rather than having to rewrite the same functionality for similar objects, OOP allows you to reuse attributes and methods from parent classes.
# CACS/Glossary/ISOC

Internet Society (ISOC) (Organization) The ISOC (pronounced eye-sok) is a cooperative of commercial, professional and governmental organizations that promotes internet technologies. It was founded in 1991 as a corporate umbrella for the Internet Engineering Task Force (IETF) and other ad-hoc activities ISOC now sponsors an annual conference and other events. It is headquartered in Virginia and Geneva, and its web address is www.isoc.org.
# CACS/Glossary/Computer

A Computer is programmable machine containing memory, input and output devices, and a central processor (CPU); and capable of executing a stored program. Each computer has a well defined instruction set that is used in programming it.
# CACS/Glossary/MPLS

Multiprotocol Label Switching (MPLS) (Networking) is a system of protocols that uses abbreviated routing information based on the devices and connections of a single Internet Service Provider (ISP). These abbreviated codes are then attached to an IP message to improve the speed and efficiency of internally routed messages. The protocols and their overall use are documented by the IETF in RFC3031.
# CACS/Glossary/Tunneling

Tunneling (Networks, Software) – a software process that uses General Routing Encapsulation (GRE) programs to send encrypted or incompatible messages over a network, usually the Internet. The concept refers to the use of the internet by two nodes of a Virtual Private Network (VPN), and their treatment of the internet as a 'tunnel' for their messages.
# CACS/Glossary/URI

Uniform Resource Identifier (URI) (Internet) The URI is a phase that identifies any object on the internet by specifying the protocol, web address, file location, and name of the object. The URI may also contain data for delivery to the target server, such as a user id or query. A URL is one form of a URI. When accessing the Web, The URI is usually displayed in a special field in the toolbar of a browser. URI originally stood for a Universal Resource Identifier, and details are available from the Internet Engineering Task Force in RFC1630 at IETF Web site.
The following regex may be used to validate strings for the RFC2396 specification:
# CACS/Glossary/VPN

Virtual Private Network (VPN) (Internet) a service, usually offered by an ISP, that uses various routing, encryption, and security technologies to allow the Internet to serve as the equivalent of a private or controlled network. This supports the connection of a corporate network with external elements for telecommuting or extended enterprise applications, or may entirely replace a proprietary network.
VPN is also used to describe the collective software and methods used in the VPN service.
# CACS/Glossary/CSS

Cascading Style Sheet (CSS) (Web Pages, HTML) is an HTML feature using a set of hierarchic input files that specify display characteristics used to interpret various HTML formatting tags. The CSS2 version also supports the description of display properties that are applied to XML applications. The CSS is an open specification maintained by the W3C, and detailed online information describing style sheets may be found at the W3C's Specification Page.
# CACS/Glossary/GRE

General Routing Encapsulation (GRE) (Internet) A method or technique of adding an IP standard header and trailer to a message that does not follow IP protocols. The encapsulated message is sent over a public network while received messages are stripped of the wrapper and processed. This permits non-standard data (from an application like Notes or AppleTalk) and totally encrypted messages to use the Internet. The technology is an important element in Virtual Private Network (VPN) offerings.
# CACS/Glossary/HTML

Hypertext Markup Language (HTML) (Internet) A document publishing language that mixes content, formatting rules, and processing scripts to create Web Pages. The HTML source is interpreted and displayed by a browser on the end user's computer. HTML is an open specification maintained through a consortium of major vendors and corporations known as the W3C. The most recent, full version of the language specification is HTML 4.01 and dates from December 1999. It can be downloaded from the W3C Web Site.
HTML (or .htm) is also used as a file extension for a stored web page that uses the language.
# CACS/Glossary/PKI

Public Key Infrastructure (PKI) (Internet) An evolving system of protocols that define the Digital Certificates and Certificate Authorities that identify and validate the parties in an electronic commerce transaction to each other.
# Canadian Criminal Procedure and Practice/Search and Seizure/CDSA Warrants
## General Principles

Section 11(1) of the Controlled Drugs and Substances Act concerns warrants relating to drug offences:
   11. (1) A justice who, on ex parte application, is satisfied by information on oath that there are reasonable grounds to believe that:
       (a) a controlled substance or precursor in respect of which this Act has been contravened,
       (b) anything in which a controlled substance or precursor referred to in paragraph (a) is contained or concealed,
       (c) fence-related property, or
       (d) anything that will afford evidence in respect of an offence under this Act.
   – CDSA
A CDSA search warrant can be issued by a justice of the peace, provincial court judge or superior court judge.
The requirements for a CDSA search warrant are the same as those under a General Warrant.
* ↑ R. v. Agecoutay, 2009 SKCA 100 at para. 15
* ↑ R. v. Law, 2002 BCCA 594 at para. 6