c(person(given = "Romain",
family = "François",
role = "aut",
email = "romain@rstudio.com"),
person(given = "Jim",
family = "Hester",
role = c("aut", "cre"),
email = "jim.hester@rstudio.com"),
person(given = "RStudio",
role = c("cph", "fnd")))
Retrieves code comment decorations for C++
languages of the form '\\ [[xyz]]', which are used for automated
wrapping of C++ functions.
Romain François [aut],
Jim Hester [aut, cre],
RStudio [cph, fnd]

c(person(given = "Romain",
family = "François",
role = c("aut", "cre"),
email = "romain@rstudio.com"),
person(given = "Jim",
family = "Hester",
role = "aut"),
person(given = "RStudio",
role = c("cph", "fnd")))
Romain François [aut, cre],
Jim Hester [aut],
RStudio [cph, fnd]

Extend the Behaviour of a Function without Explicitly Modifying
it
A decorator is a function that receives a function, extends its
behaviour, and returned the altered function. Any caller that uses the
decorated function uses the same interface as it were the original,
undecorated function. Decorators serve two primary uses: (1) Enhancing the
response of a function as it sends data to a second component; (2)
Supporting multiple optional behaviours. An example of the first use is a
timer decorator that runs a function, outputs its execution time on the
console, and returns the original function's result. An example of the
second use is input type validation decorator that during running time
tests whether the caller has passed input arguments of a particular class.
Decorators can reduce execution time, say by memoization, or reduce bugs
by adding defensive programming routines.

A decorator is a function that receives a function, extends
its behaviour, and returned the altered function. Any caller that uses
the decorated function uses the same interface as it were the
original, undecorated function. Decorators serve two primary uses: (1)
Enhancing the response of a function as it sends data to a second
component; (2) Supporting multiple optional behaviours. An example of
the first use is a timer decorator that runs a function, outputs its
execution time on the console, and returns the original function's
result. An example of the second use is input type validation
decorator that during running time tests whether the caller has passed
input arguments of a particular class.  Decorators can reduce
execution time, say by memoization, or reduce bugs by adding defensive
programming routines.