travis CI fixes

pull/1613/head
Sergey Zubkov 2020-04-22 09:35:16 -04:00
parent d45496ff5e
commit 986402298a
2 changed files with 25 additions and 20 deletions

View File

@ -12698,7 +12698,7 @@ consider `gsl::finally()` as a cleaner and more reliable alternative to `goto ex
switch(x){
case 1 :
while(/* some condition */){
while (/* some condition */) {
//...
break;
} //Oops! break switch or break while intended?
@ -12715,8 +12715,8 @@ Often, a loop that requires a `break` is a good candidate for a function (algori
void use1(){
std::vector<T> vec = {/* initialized with some values */};
T value;
for(const T item : vec){
if(/* some condition*/){
for (const T item : vec) {
if (/* some condition*/) {
value = item;
break;
}
@ -12725,14 +12725,14 @@ Often, a loop that requires a `break` is a good candidate for a function (algori
}
//BETTER: create a function and return inside loop
T search(const std::vector<T> &vec){
for(const T &item : vec){
if(/* some condition*/) return item;
T search(const std::vector<T> &vec) {
for (const T &item : vec) {
if (/* some condition*/) return item;
}
return T(); //default value
}
void use2(){
void use2() {
std::vector<T> vec = {/* initialized with some values */};
T value = search(vec);
/* then do something with value */
@ -12740,15 +12740,15 @@ Often, a loop that requires a `break` is a good candidate for a function (algori
Often, a loop that uses `continue` can equivalently and as clearly be expressed by an `if`-statement.
for(int item : vec){ //BAD
if(item%2 == 0) continue;
if(item == 5) continue;
if(item > 10) continue;
for (int item : vec) { //BAD
if (item%2 == 0) continue;
if (item == 5) continue;
if (item > 10) continue;
/* do something with item */
}
for(int item : vec){ //GOOD
if(item%2 != 0 && item != 5 && item <= 10){
for (int item : vec) { //GOOD
if (item%2 != 0 && item != 5 && item <= 10) {
/* do something with item */
}
}
@ -14972,21 +14972,20 @@ There is no explicit locking and both correct (value) return and error (exceptio
return value;
}
void async_example()
{
try
{
auto v1 = std::async(std::launch::async, read_value, "v1.txt");
auto v1 = std::async(std::launch::async, read_value, "v1.txt");
auto v2 = std::async(std::launch::async, read_value, "v2.txt");
std::cout << v1.get() + v2.get() << '\n';
}
catch (std::ios_base::failure & fail)
catch (std::ios_base::failure & fail)
{
// handle exception here
}
}
##### Note
Unfortunately, `async()` is not perfect.
@ -19201,6 +19200,7 @@ to files that includes it or in scenarios where the different search algorithm i
#include "helpers.h" // A project specific file, use "" form
##### Note
Failing to follow this results in difficult to diagnose errors due to picking up the wrong file by incorrectly specifying the scope when it is included.
Library creators should put their headers in a folder and have clients include those files using the relative path `#include <some_library/common.h>`
@ -20282,9 +20282,11 @@ and errors (when we didn't deal correctly with semi-constructed objects consiste
// main problem: constructor does not fully construct
Picture(int x, int y)
{
mx = x; // also bad: assignment in constructor body rather than in member initializer
mx = x; // also bad: assignment in constructor body
// rather than in member initializer
my = y;
data = nullptr; // also bad: constant initialization in constructor rather than in member initializer
data = nullptr; // also bad: constant initialization in constructor
// rather than in member initializer
}
~Picture()
@ -20466,7 +20468,7 @@ Reference sections:
Libraries used have to have been approved for mission critical applications.
Any similarities to this set of guidelines are unsurprising because Bjarne Stroustrup was an author of JSF++.
Recommended, but note its very specific focus.
* [_MISRA C++ 2008: Guidelines for the use of the C++ language in critical systems_] (https://www.misra.org.uk/Buyonline/tabid/58/Default.aspx).
* [MISRA C++ 2008: Guidelines for the use of the C++ language in critical systems](https://www.misra.org.uk/Buyonline/tabid/58/Default.aspx).
* [Mozilla Portability Guide](https://developer.mozilla.org/en-US/docs/Mozilla/C%2B%2B_Portability_Guide).
As the name indicates, this aims for portability across many (old) compilers.
As such, it is restrictive.

View File

@ -52,6 +52,7 @@ ASIC
asio
AST
async
AUTOSAR
'B'
b2
BDE
@ -320,6 +321,7 @@ Meyers96
Meyers97
microbenchmarks
middleware
MISRA
mixin
mixins
mnemonizes
@ -598,6 +600,7 @@ UTF
util
v's
v1
v17
v2
va
ValueType